【发布时间】:2011-07-31 20:22:01
【问题描述】:
我得到了错误
找不到-lpthreadGC2
在构建我的程序时。奇怪的是,它肯定在那里。我使用 cmake 构建,结合 Eclipse 和 MingW。所有其他库都可以正常工作(它们的设置方式相同)。
使用 cmake,我可以使用命令 message() 发出消息。我检查了所有包含路径和库路径是否使用 message() 正确设置。我可以在 Eclipse 项目设置中确认这一点,路径已设置(包括 pthreads.h 完美运行,已找到)。
命令target_link_libraries(MyApp "libpthreadGC2.a") 也被执行(再次检查message())。
总结:所有的路径都设置好了,所有的链接都被命令到cmake。 Eclipse 知道所有路径。但是 MingW 链接器没有找到该库。我应该在哪里寻找错误的任何想法?
【问题讨论】:
-
我假设您已经对所有内容进行了两次和三次检查,是否有错别字和拼写错误?通常,您可以使用库文件的完整路径名 (/path/to/libpthreadGC2.a) 或 CMake 目标名称(但仅适用于您正在构建的目标)作为 target_link_libraries 的参数。您是否尝试在 target_link_libraries 调用中使用 lib 的完整路径名?
-
是的,我什至尝试直接复制粘贴目录名称。使用 cmake message() 检查每次出现和调用。我还比较了所有其他库,以防我错过了一个命令:不,一切都在那里。 lib 本身(.a 文件)位于文件夹中。我不知道我可以检查哪些其他地方。
标签: linker find pthreads cmake