我正在创建一个c ++项目,我希望它在独立模式下运行,没有任何依赖关系,因为它将部署在多个服务器上。
这是我的 CMakeLists 文件:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
<div class="row">
<div class="col-12 col-sm-12 col-md-5">
xxx
</div>
<div class="col-4 col-sm-4 col-md-2">
xxx
</div>
<div class="col-4 col-sm-4 col-md-2">
xxx
</div>
<div class="col-4 col-sm-4 col-md-2">
xxx
</div>
</div>
libactivemq-cpp.a和libapr-1.a可以在我的项目目录中找到
但是我在链接期间project(CMS-test)
cmake_minimum_required(VERSION 2.6)
add_executable(main main.cpp)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
INCLUDE_DIRECTORIES(/usr/local/apr/include/apr-1)
INCLUDE_DIRECTORIES(/usr/local/include/activemq-cpp-3.9.4)
target_link_libraries(main ${CMAKE_SOURCE_DIR}/libapr-1.a)
target_link_libraries(main ${CMAKE_SOURCE_DIR}/libactivemq-cpp.a)
之后遇到的错误是
make main
以及更多......
我不知道如何解决这些错误
有什么建议吗?
答案 0 :(得分:1)
我认为apr是activemq的依赖项。如果是这种情况,则需要切换apr和activemq的链接顺序。
链接器只使用每个库一次。当它处理libactivemq-cpp.a时,它看到它依赖于apr,但libapr-1.a已经被处理。
答案 1 :(得分:0)
弄清楚我正在以错误的顺序执行target_link_libraries
并按Finn的指示改变了库的顺序
现在正在运行的CMakeLists
文件是
project(CMS-test C CXX)
cmake_minimum_required(VERSION 2.6)
add_executable(main main.cpp)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
INCLUDE_DIRECTORIES(/usr/local/apr/include/apr-1)
INCLUDE_DIRECTORIES(/usr/local/include/activemq-cpp-3.9.4)
INCLUDE_DIRECTORIES(/usr/lib/x86_64-linux-gnu/)
find_package (Threads)
target_link_libraries(main ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries(main ${CMAKE_SOURCE_DIR}/libactivemq-cpp.a)
target_link_libraries(main ${CMAKE_SOURCE_DIR}/libapr-1.a)
target_link_libraries(main ssl)
target_link_libraries(main crypto)
target_link_libraries(main dl)