私はC++開発とメイクファイルの一般的なアイデアが新しくなっています。私はUbuntu 16.04 LTSを使っています。CMakeLists.txtは使用可能なメイクファイルを作成しません(UbuntuとC++)
OpenCVライブラリを使用するaverage-color.cppをコンパイルしようとしています。
プロジェクトフォルダ:私は使用して作業ファイルをコンパイルすることができるよ
bin CMakeLists.txt img lib obj src ./bin: ./img: test.png ./lib: core.hpp highgui.hpp imgproc.hpp opencv.hpp ./obj: average-color.d calculate-average-color.d makefile-test.d average-color.o calculate-average-color.o makefile-test.o ./src: average-color.cpp
:
g++ average-color.cpp -o test `pkg-config --cflags --libs opencv`
ながら、それは、符号誤りはないと信じて私をリードsrcディレクトリ、中Cmakeや見つけたMakefileの一部をコンパイルするとエラーになります。
以下は私のCMakeListsファイルです:
cmake_minimum_required(VERSION 2.8)
PROJECT (name)
find_package(OpenCV REQUIRED)
set(NAME_SRC
src/average-color.cpp
)
set(NAME_HEADERS
lib/core.hpp
lib/highgui.hpp
lib/imgproc.hpp
lib/opencv.hpp
)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib)
link_directories(${CMAKE_BINARY_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
add_executable(name ${NAME_SRC} ${NAME_HEADERS})
私は実行し、メイクファイルが生成され、 "cmakeのを。"。そこから、 "make"を実行すると失敗します:次の出力で(ここでうまくフォーマットできませんでした)。 http://textuploader.com/d5wks
私のCMakeLists.txtで誰かが驚くほど間違ったものを見つけた場合、説明してください。私はこのすべてを明確に説明していません。
あなたの 'CMakeLists.txt'に' target_link_libraries() 'がありません – drescherjm
どうしたらいいですか?私のlibフォルダ? –
***私のlibフォルダ?***フォルダではなく個々のライブラリです。 @SteveThibaultはそれに答えました。 – drescherjm