我有一个带有 Makefile 的小项目,我正在尝试将其转换为 CMake,主要是为了获得 CMake 的经验。出于本示例的目的,该项目包含一个源文件(C++,尽管我认为该语言不是特别相关)和一个我从其他地方复制的静态库文件。为论证起见,假设库的源代码不可用;我只有 .a 文件和相应的标题。
我手工制作的 Makefile 包含这个构建规则:
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
效果很好。我如何告诉 CMake 重现这个?当然,不是字面上的这个确切的 makefile,而是包含等效链接命令的东西。我尝试了明显但幼稚的方法,比如
add_executable(main main.cpp libbingitup.a)
或者
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
以及与link_directories(.)
或add_library(bingitup STATIC IMPORTED)
等的各种事物,但到目前为止还没有任何东西可以成功连接。我应该做什么?
版本详细信息:Linux (Kubuntu 12.04) 上的 CMake 2.8.7 和 GCC 4.6.3