【发布时间】:2012-12-14 04:43:44
【问题描述】:
我有一个带有 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 上的 CMake 2.8.7 (Kubuntu 12.04) 和 GCC 4.6.3
【问题讨论】: