我有一个带有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)
等等的各种事物,但到目前为止,没有任何事物能够成功实现链接。我该怎么办?
版本详细信息:具有GCC 4.6.3的Linux(Kubuntu 12.04)上的CMake 2.8.7