cmake 的链接参数怎么加?

zhouwei400 2012-05-08 09:00:24
我发现设置了
set(CMAKE_EXE_LINKER_FLAGS "-lpthread")
生成的makefile是这样的:
/usr/bin/c++ -lpthread CMakeFiles/hfm.dir/main.cpp.o -o hfm -rdynamic
而-lpthread这个参数加到前面是没有用的,怎么设置才能让它生成形如
/usr/bin/c++ CMakeFiles/hfm.dir/main.cpp.o -o hfm -rdynamic -lpthread
的makefile?
...全文
2224 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouwei400 2012-05-12
  • 打赏
  • 举报
回复 1
[Quote=引用 9 楼 的回复:]

ADD_EXECUTABLE(main ${SOURCES})
TARGET_LINK_LIBRARIES(main pthread)
[/Quote]

恩,问题解决
rendao0563 2012-05-12
  • 打赏
  • 举报
回复
ADD_EXECUTABLE(main ${SOURCES})
TARGET_LINK_LIBRARIES(main pthread)
zhouwei400 2012-05-12
  • 打赏
  • 举报
回复
求高手啊,求大神……
zhouwei400 2012-05-09
  • 打赏
  • 举报
回复
有人知道怎么解决吗?
zhouwei400 2012-05-08
  • 打赏
  • 举报
回复
collect2 version 4.6.3 (x86-64 Linux/ELF)
/usr/bin/ld --sysroot=/ --build-id --no-add-needed --as-needed --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../.. /tmp/ccmN47sX.o -v -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.6/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crtn.o
GNU ld (GNU Binutils for Ubuntu) 2.22

没有那个选项,没有GUI……
xunxun 2012-05-08
  • 打赏
  • 举报
回复
那就不需要加才对,我怎么记得-pthread是自动的呢

你可以随便编译一个程序看看

gcc main.c -Wl,-v

看看链接开关里出现-pthread了么

另外,如果cmake是GUI版,可以在一个设置中改链接开关的,你各个都试试
zhouwei400 2012-05-08
  • 打赏
  • 举报
回复
-rdynamic
不是我加的
gcc版本是
gcc.real (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
这样调用的:
pthread_t id;
pthread_create(&id,NULL,displayprogress,NULL);
xunxun 2012-05-08
  • 打赏
  • 举报
回复
那你-rdynamic是怎么加的?

还有你的gcc版本?

如果是posix线程模型,那么会自动链接-pthread
zhouwei400 2012-05-08
  • 打赏
  • 举报
回复
似乎没用
CMAKE_MODULE_LINKER_FLAGS的说明是:

Flags used by the linker during the creation of modules.
xunxun 2012-05-08
  • 打赏
  • 举报
回复
忘了

大概是CMAKE_MODULE_LINKER_FLAGS

你可以去查文档

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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