我在使用CMake 2.8.11.2尝试做一些看似非常简单的事情时遇到了麻烦。我有一个包含两个文件的文件夹:
-- CMAkeLists.txt --
add_executable(test test.c)
target_link_libraries (test somelib)
-- test.c --
// Some c code
当我创建一个构建目录并发出cmake ..
时,cmake会运行以下输出:
C:\Users\Enis\workspace_kepler\tmp\build>cmake ..
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Enis/workspace_kepler/tmp/build
在构建文件夹中生成MSVC 2012解决方案(因为我安装了MSVC2012)。现在,问题是,当我打开该解决方案并检查属性 - >配置属性 - >链接器 - >输入 - >附加依赖项下test
项目的链接器配置时,我看到{{1添加为somelib
并且visual studio不喜欢它。只有当我手动将其更改为;-lsomelib.lib
时,它才能成功链接。
我做错了什么?为什么CMake犯了这么简单的错误?如何更改它生成的前缀?
答案 0 :(得分:0)
我遇到了同样的问题。问题的根源是CMAKE_LINK_LIBRARY_FLAG
,但我不知道是什么原因造成的。重置它,如下面的代码片段所示,对您有帮助。
set(CMAKE_LINK_LIBRARY_FLAG "")