我在尝试用 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
并且在 build 文件夹中生成了一个 MSVC 2012 解决方案(因为我安装了 MSVC2012)。现在,问题是,当我打开该解决方案并test
在 Properties->Configuration Properties->Linker->Input->Additional Dependencies 下检查项目的链接器配置时,我看到它somelib
被添加为;-lsomelib.lib
并且 Visual Studio 不喜欢那样。仅当我将其更改为somelib.lib
手动时,它才会成功链接。
我究竟做错了什么?为什么 CMake 会犯这么简单的错误?我可以做些什么来更改它生成的前缀?