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