我正在Cpp中構建一個項目,該項目將通過rabbitmq與我的Java應用程序進行通信,並向Twitter發佈更新。我使用的是一些庫從GitHubCMake用戶構建庫;無法爲目標指定鏈接庫
-
兔子安裝到/ usr /本地/ lib64的
-
我安裝這個前陣子另一個項目,去/ usr/local/lib
twitcurl - C lib for Twitter API
GOT安裝到/ usr/local/lib目錄
如果它的事項,我使用的克利翁爲我的IDE,定義包括當它顯示揚森和兔下自動完成 - 所以這採摘庫了我的系統不知何故
e.g.
#include <jansson.h>
#include <amqp.h>
我將它們鏈接使用target_link_libraries(名稱庫...),我看到輸出話說
build$ cmake ..
CMake Error at CMakeLists.txt:30 (target_link_libraries):
Cannot specify link libraries for target "twitcurl" which is not built by
this project.
我設置LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
我嘗試設置CMAKE_LIBRARY_PATH包括USR /本地/ lib和lib64的,但似乎沒有任何效果。這裏是我的CMakeLists.txt文件
#
# This is a CMake makefile. You can find the cmake utility and
# information about it at http://www.cmake.org
#
cmake_minimum_required(VERSION 2.6)
set(PROJECT_NAME twitterUpdater)
set(SOURCE_FILES main.cpp)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "/usr/local/lib"
"/usr/local/lib64")
project(${PROJECT_NAME})
find_package(X11 REQUIRED)
find_package(OpenCV REQUIRED)
IF (X11_FOUND)
INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR})
LINK_LIBRARIES(${X11_LIBRARIES})
ENDIF (X11_FOUND)
IF (OpenCV_FOUND)
include_directories(${OpenCV_INCLUDE_DIRS})
link_libraries(${OpenCV_LIBS})
ENDIF(OpenCV_FOUND)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
target_link_libraries(${project_name} twitcurl jansson rabbitmq)
什麼困惑我的另一個項目,我通過簡單地添加在這裏它TARGET_LINK_LIBRARIES(${project_name} dlib jansson)
我錯過了什麼用途?楊松謝謝
哇,我很慢。謝謝你指出我的懶惰。 – Crushing