cmakeを使用してC++プロジェクトからcaffeライブラリにリンクするのが難しい人のために、私は首尾よく使用できるCMakeLists.txtです。設定に従って正しいパスに変更してください。
cmake_minimum_required(VERSION 2.6)
cmake_policy(SET CMP0012 OLD)
PROJECT(endtoendlib)
if(ON)
if(NOT OpenCV_FOUND)
set(Caffe_OpenCV_CONFIG_PATH "/usr/local/share/OpenCV")
if(Caffe_OpenCV_CONFIG_PATH)
get_filename_component(Caffe_OpenCV_CONFIG_PATH ${Caffe_OpenCV_CONFIG_PATH} ABSOLUTE)
if(EXISTS ${Caffe_OpenCV_CONFIG_PATH} AND NOT TARGET opencv_core)
message(STATUS "Caffe: using OpenCV config from ${Caffe_OpenCV_CONFIG_PATH}")
include(${Caffe_OpenCV_CONFIG_PATH}/OpenCVModules.cmake)
endif()
else()
find_package(OpenCV REQUIRED)
endif()
unset(Caffe_OpenCV_CONFIG_PATH)
endif()
endif()
# Compute paths
get_filename_component(Caffe_CMAKE_DIR "/home/Softwares/Libraries/caffe-master/build/cmake" PATH)
set(Caffe_INCLUDE_DIRS "/home/Softwares/Libraries/caffe-master/include")
list(APPEND Caffe_INCLUDE_DIRS "/usr/include")
list(APPEND Caffe_INCLUDE_DIRS "/usr/local/cuda-8.0/include")
list(APPEND Caffe_INCLUDE_DIRS "/usr/local/include/opencv")
list(APPEND Caffe_INCLUDE_DIRS "/usr/include/atlas")
list(APPEND Caffe_INCLUDE_DIRS "/home/Softwares/Libraries/caffe-master/build/src/")
# Our library dependencies
#if(NOT TARGET caffe AND NOT caffe_BINARY_DIR)
include("/home/Softwares/Libraries/caffe-master/build/ccmake/CaffeTargets.cmake")
#endif()
# List of IMPORTED libs created by CaffeTargets.cmake
set(Caffe_LIBRARIES "/home/Softwares/Libraries/caffe-master/build/lib/libcaffe.so")
# Definitions
set(Caffe_DEFINITIONS "-DUSE_OPENCV;-DUSE_LMDB;-DUSE_LEVELDB")
# Cuda support variables
set(Caffe_CPU_ONLY OFF)
set(Caffe_HAVE_CUDA TRUE)
set(Caffe_HAVE_CUDNN FALSE)
include_directories(${PROJECT_BINARY_DIR} ${Caffe_INCLUDE_DIRS})
# adding sources to target
add_executable(endtoendlib endtoendLstm.cpp)
target_link_libraries(endtoendlib ${OpenCV_LIBS} ${Caffe_LIBRARIES} -lglog -lprotobuf -lboost_system)
あなたがメッセージ全体、この警告は、プロジェクトの開発者のためである」と言う最後に、特に一部を読むWITH_PYTHON_LAYER := 1 in Makefile.config
Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: ImageData (known types: AbsVal, Accuracy, ArgMax, BNLL, BatchNorm, BatchReindex, Bias, Concat, ContrastiveLoss, Convolution, Crop, Data, Deconvolution, Dropout, DummyData, ELU, Eltwise, Embed, EuclideanLoss, Exp, Filter, Flatten, HDF5Data, HDF5Output, HingeLoss, Im2col, InfogainLoss, InnerProduct, Input, LRN, LSTM, LSTMUnit, Log, MVN, MemoryData, MultinomialLogisticLoss, PReLU, Parameter, Pooling, Power, RNN, ReLU, Reduction, Reshape, SPP, Scale, Sigmoid, SigmoidCrossEntropyLoss, Silence, Slice, Softmax, SoftmaxWithLoss, Split, TanH, Threshold, Tile)
でカフェを構築していなかったこと、フォローのようなエラーがある場合それを抑止するには、-Wno-devを使用してください。要するに、これはCaffe開発者にとっては問題であり、あなたにとっては問題ではありません。あなたの 'CMakeLists.txt'ファイルは正常に動作します。どちらかといえば、 '-Wno-dev'で静かにするか、それをCaffeの開発者に報告して、それを修正してほしい。 –
@Someprogrammerdude、いいえ動作しません。構成するたびに、常にこのメッセージに移動します。この警告を抑止するために-Wno-devを使用するにはどうすればよいですか? – batuman
「うまくいきません」という部分について詳しく教えてもらえますか? *どのように動作しませんか? 'cmake'を実行するときに、より多くのエラーや警告が出ますか?ビルドエラーが出ますか?そして、あなたはどうやってCaffeをダウンロードしてビルドしましたか?どのバージョン?パスの中の 'caffe-master'という名前は、あなたが実際にリリースされたバージョンに頼るのではなく、マスターブランチのGitチェックアウトに取り組んでいることを示しているようです。代わりにリリースをインストールしようとしましたか? –