cmakeダイナミックリンクライブラリの追加
1545 ワード
gccを使用して単一のcファイルのコンパイルを行う場合、次のようなパラメータを追加する必要がある場合があります.
gcc -o test test.c -L/usr/local/lib/-lopencv
ここで-Lは動的ライブラリを作成する場所であり、-lは接続する動的ライブラリの名前を指定します.
では、プロジェクトのコンパイルを行うにはcmakeでCmakelistを通過する必要があります.txtはmakeをプロジェクトコンパイルに導く.
ではcmakelistsでtxtファイル内にダイナミックリンクライブラリを追加する構成、具体的なパラメータは以下の通りです.
1、まずダイナミックライブラリの位置を明らかにする
例:
LINK_DIRECTORIES(/usr/local/lib)
2、次に具体的なダイナミックライブラリの名称を制定する
例:hiredisのダイナミックリンクファイルlibhiredisを指定します.dylib
target_link_libraries(${PROJECT_NAME} -lhiredis)
最終的なcmakelists.txt:
gcc -o test test.c -L/usr/local/lib/-lopencv
ここで-Lは動的ライブラリを作成する場所であり、-lは接続する動的ライブラリの名前を指定します.
では、プロジェクトのコンパイルを行うにはcmakeでCmakelistを通過する必要があります.txtはmakeをプロジェクトコンパイルに導く.
ではcmakelistsでtxtファイル内にダイナミックリンクライブラリを追加する構成、具体的なパラメータは以下の通りです.
1、まずダイナミックライブラリの位置を明らかにする
LINK_DIRECTORIES({your_library_path})
例:
LINK_DIRECTORIES(/usr/local/lib)
2、次に具体的なダイナミックライブラリの名称を制定する
target_link_libraries(${PROJECT_NAME} -l{library_name})
例:hiredisのダイナミックリンクファイルlibhiredisを指定します.dylib
target_link_libraries(${PROJECT_NAME} -lhiredis)
最終的なcmakelists.txt:
cmake_minimum_required(VERSION 3.2)
PROJECT(edgepoint)
INCLUDE_DIRECTORIES(
include
hiredis-master
)
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
add_subdirectory(hiredis-master)
SET(EDGEPOINT
${DIR_SRCS}
)
LINK_DIRECTORIES(/usr/local/lib/)
ADD_EXECUTABLE(${PROJECT_NAME} ${EDGEPOINT})
target_link_libraries(${PROJECT_NAME} -lhiredis)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)