如何强制把库连接到程序里面

masterz 2014-01-06 11:38:18
下面的程序希望用Gperftools CPU Profiler
g++ 4.1.2 可以这么编译
g++ -g -L/home/onega/workspace/gperftools-2.1/.libs -Wl,--undefined=ProfilerStart -lprofiler -o test main.cpp
ldd test 可以发现libprofiler.so.0被链接进程序了
但是g++ 4.6.3 不会把libprofiler.so.0链接进程序。怎么在g++ 4.6.3上达到同样的效果?
--whole-archive 会报错符合重定义。

#include <iostream>
#include <stdlib.h>
#include <cmath>

double r(double a, double b){
return log(a)+log(b);
}
int main(int argc, char* argv[])
{
std::cout << argv[0] << " " << getenv("CPUPROFILE")<<std::endl;
int i=0;
double e=0.0;
for(i=0;i<1000000; i++)
e = r(i,i);
std::cout << "result is "<<e<<std::endl;
return 0;
}
...全文
505 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Errorize 2014-12-30
  • 打赏
  • 举报
回复
我看过他2005年的帖子,光阴似箭
nanjun520 2014-01-23
  • 打赏
  • 举报
回复
不懂 帮顶
sduxiaoxiang 2014-01-23
  • 打赏
  • 举报
回复
直接-lprofiler.so.0 也不行么?
jiandingzhe 2014-01-08
  • 打赏
  • 举报
回复
不太熟悉编译器调教。帮顶一下。
SKATE11 2014-01-06
  • 打赏
  • 举报
回复
windows上面的DLL注入貌似这个意思

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧