私はCaffeライブラリの初心者です。 このチュートリアルの例では、コードをコンパイルしテストしていただけです:https://github.com/DeepLearningStudy/caffe/blob/master/examples/ex4_layer/main.cpp。 私はCPU_ONLYをビルドしているので、コンパイルすると `void caffe :: caffe_gpu_dot(int、double const *、double const *、double *) 'への未定義の参照がエラーとして出力されます。 Forward()関数を呼び出すと発行されます。 コンパイルを完了するために、私はargmaxのレイヤーコードを変更し、forward_cpu()をpublic関数メンバーとして追加しました。CPU_ONLY build:関数をコンパイルするForward()はエラー "未定義の参照..."を返します。
行がありますが: Caffe :: set_mode(Caffe :: CPU) はgpuメソッドの順方向関数呼び出しのようです。
私のCMakeLists.txtは次のとおりです。 cmake_minimum_required(VERSION 2.8.8)
project (hellocaffe)
if(ON) if(NOT OpenCV_FOUND) set(Caffe_OpenCV_CONFIG_PATH "/usr/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/nikfio/bin/caffe/cmake" PATH)
FIND_PACKAGE(Caffe)
set(Caffe_INCLUDE_DIRS /home/nikfio/bin/caffe/include) list(APPEND Caffe_INCLUDE_DIRS "/usr/include") list(APPEND Caffe_INCLUDE_DIRS "/usr/local/cuda-9.0/include") list(APPEND Caffe_INCLUDE_DIRS "/usr/include/opencv") list(APPEND Caffe_INCLUDE_DIRS "/usr/include/atlas") list(APPEND Caffe_INCLUDE_DIRS "/home/nikfio/bin/caffe/build/src/")
include_directories(${Caffe_INCLUDE_DIRS})
Definitions
set(Caffe_DEFINITIONS "-DUSE_OPENCV;-DUSE_LMDB;-DUSE_LEVELDB")
set(CAFFE_DIR /home/nikfio/bin/caffe)
set(LIBRARY -L${CAFFE_DIR}/build/lib -L/usr/local/Cellar/opencv/2.4.11_1/lib/ -lglog -lprotobuf -lpython2.7 -lcaffe -lm -lpthread -lopencv_core -lopencv_imgproc -lopencv_highgui)
add_executable(ex_logreg_mnist ex_logreg_mnist.cpp)
target_link_libraries(ex_logreg_mnist ${LIBRARY} -lboost_system)
Does someone know why or have a better solution?
Regards
[定義されていない参照/未解決の外部シンボルエラーとは何ですか?どうすれば修正できますか?](https://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-外部記号エラー・アンド・ハウ・ド・イ・フィックス) –