caffe win10 GPU 編譯

cudnn狞换,一定要選擇最老的版本,否則就會報錯(真坑裕坊,誰能想到)

cmake簡介:https://www.huaweicloud.com/articles/ca75903dbb357a87c340fbfcd6b6dfe6.html

cmake 官方文檔:https://cmake.org/cmake/help/v3.21/#reference-manuals

由于C++ 編譯經(jīng)驗不足包竹,這一塊著實,讓我懷疑人生籍凝。無奈之下周瞎,我最終卸載了 CUDA11.4 安裝了 CUDA7.5,然后竟然就很順利的編譯完成了饵蒂。(終究声诸,還是需要吧 cmake弄明白,使用 CUDA11.4 來 編譯 caffe 的官方源碼退盯,這樣才能彼乌,進行caffe 的定制 并 編譯得到 caffe的 定制版本)

編譯 和? 多文件 編譯

VS 使用 cl 編譯器 (cl 類似于 gcc? 和 clang 編譯器泻肯,cl位于 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin)

vs中,一個編譯單元 就是 一個 cpp文件慰照。有cpp文件 得到 .o文件软免,之后 編譯器會根據(jù) 參數(shù)的選擇 來生成 不同的結(jié)果(包括 .exe可執(zhí)行文件、lib靜態(tài)庫焚挠、dll動態(tài)庫)

舉個 gcc的編譯命令 gcc main.cpp -o main 膏萧。(不同的編譯器 有自己跌 命令規(guī)范)

gcc? 常用的 -i? -l? (i 是? include? l 是 link)

cmake 用于 自動生成 編譯命令(cmake 以 cmakelist.txt 作為輸入,并輸出makefile,然后 使用makefile 來指導編譯器進行 編譯操作。)

cmakelist.txt 里 定義了 一些 鏈接的操作蝌衔,編譯器 在鏈接 階段 實際上是 根據(jù) cmakelist.txt 中的定義 來進行鏈接的榛泛。

vs 的編譯器 底層 也是調(diào)用了 nmake? ? ? ? ? ? ? ? ??

不同的編譯器,會對 cpp 文件 進行 重整 (就是 會有一個 包含 cpp 名字 返回類型 輸入?yún)?shù)? 要生成的文件類型? 等的一條 復雜的長語句噩斟。形如 gcc add.cppp ..? ... ...? ?...? .lib) 曹锨。不能將 不同編譯器 得到的文件 ,進行鏈接剃允,因為沛简,不同的編譯器 會 生成 不同語法的? 重整文件 ,這樣斥废,會出現(xiàn)鏈接錯誤椒楣。

在編譯的過程中,編譯器會打印沒一條編譯命令(也就是 每一個操作)牡肉,在報錯的時候捧灰,可以一條一條的分析,看是 在 編譯的那個階段 除了錯统锤,然后再 去相應的地方 查找和修改錯誤毛俏。

cmake 常用的 10條指令邓深,幾乎可以解決 日常的所有問題劳闹。

在cmake中 -l 和 -L 不同纫溃,-L 之后會跟 一個 外部庫 的路徑残揉。

cmake 中 的 find_package() 用于 找包缤骨,find_package(OpenCV) 這條 語句 會 自動到 OpenCV 所在的路徑下 找到 它的 cmakelist.txt 及老,并執(zhí)行它身冬,執(zhí)行完畢后返回當前文件窒舟,繼續(xù)執(zhí)行嘲驾。

cmakelist.txt 是跨平臺的 通用的 編譯入口淌哟。而 vs 怎樣的ide 都是 在cmakelist.txt 基礎(chǔ)上 封裝的得到的編譯入口,因此 這些 ide 不能跨平臺辽故, 只針對當前的系統(tǒng)環(huán)境徒仓。

整個 編譯 過程 可 看做是 四個階段 :cmake 中 含有兩個階段 congfig 用于根據(jù) 語句 計算 各種參數(shù)(這是個根據(jù)代碼來計算的階段), genery 用于 根據(jù) 計算得到的參數(shù) 來生成 makefile (這是個 根據(jù) 計算結(jié)果 來 定義規(guī)則的階段),之后的操作 編譯器 會有兩個階段 編譯 cpp 文件(這是個編譯代碼的階段)誊垢,將 編譯階段 得到的文件 和 其他的 庫或文件進行鏈接(這是個找?guī)斓碾A段)掉弛。

make? install makefile (首先 make執(zhí)行編譯操作症见,然后 install? 根據(jù) makefile中的 install語句 來 執(zhí)行install操作)

cmake文件,總體是 是按照順序執(zhí)行的殃饿。

讀懂下面兩個 cmakelist.txt 文件谋作,很重要,因為這兩個文件乎芳,代表了 cmake的通用語法 遵蚜,并涵蓋了 最常用的一些和語句。

一個自定義的cmakelist.txt (備忘:D:\cmake_test)

project(test)

find_package(OpenCV)

#message(${OpenCV_include_dirs})

#message(${OpenCV_libs})

#opencv_version

include_directories(${OpenCV_include_dirs})

include_directories(add)

add_library(add IMPORT)

add_executable(main main.cpp)

target_link_libraries(main add ${OpenCV_LIBS})

CMD窗口1:

Microsoft Windows [版本 10.0.19041.1052]

(c) Microsoft Corporation奈惑。保留所有權(quán)利吭净。

C:\Users\73525>cmake

Usage

? cmake [options] <path-to-source>

? cmake [options] <path-to-existing-build>

? cmake [options] -S <path-to-source> -B <path-to-build>

Specify a source directory to (re-)generate a build system for it in the

current working directory.? Specify an existing build directory to

re-generate its build system.

Run 'cmake --help' for more information.

C:\Users\73525>cmake --version

cmake version 3.21.0-rc2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

C:\Users\73525>cl

'cl' 不是內(nèi)部或外部命令,也不是可運行的程序

或批處理文件肴甸。

C:\Users\73525> cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin>cl

用于 x86 的 Microsoft (R) C/C++ 優(yōu)化編譯器 18.00.30501 版版權(quán)所有(C) Microsoft Corporation寂殉。? 保留所有權(quán)利。

用法: cl [ 選項... ] 文件名... [ /link 鏈接選項... ]

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin>nmake

Microsoft (R) 程序維護實用工具 12.00.21005.1 版

版權(quán)所有 (C) Microsoft Corporation原在。? 保留所有權(quán)利友扰。

NMAKE : fatal error U1064: 未找到 MAKEFILE 并且未指定目標

Stop.

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin>


cmd窗口2:

Microsoft Windows [版本 10.0.19041.1052]

(c) Microsoft Corporation。保留所有權(quán)利庶柿。

C:\Users\73525>cd D:\cmake_test

C:\Users\73525>d:

D:\cmake_test>mkdir build

D:\cmake_test>cd build

D:\cmake_test\build>cmake

Usage

? cmake [options] <path-to-source>

? cmake [options] <path-to-existing-build>

? cmake [options] -S <path-to-source> -B <path-to-build>

Specify a source directory to (re-)generate a build system for it in the

current working directory.? Specify an existing build directory to

re-generate its build system.

Run 'cmake --help' for more information.

D:\cmake_test\build>cmake -G

CMake Error: No generator specified for -G

Generators

? Visual Studio 17 2022? ? ? ? = Generates Visual Studio 2022 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Use -A option to specify architecture.

? Visual Studio 16 2019? ? ? ? = Generates Visual Studio 2019 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Use -A option to specify architecture.

? Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Optional [arch] can be "Win64" or "ARM".

? Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Optional [arch] can be "Win64" or "ARM".

* Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Optional [arch] can be "Win64" or "ARM".

? Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Optional [arch] can be "Win64" or "ARM".

? Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Optional [arch] can be "Win64" or "IA64".

? Visual Studio 9 2008 [arch]? = Generates Visual Studio 2008 project files.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Optional [arch] can be "Win64" or "IA64".

? Borland Makefiles? ? ? ? ? ? = Generates Borland makefiles.

? NMake Makefiles? ? ? ? ? ? ? = Generates NMake makefiles.

? NMake Makefiles JOM? ? ? ? ? = Generates JOM makefiles.

? MSYS Makefiles? ? ? ? ? ? ? = Generates MSYS makefiles.

? MinGW Makefiles? ? ? ? ? ? ? = Generates a make file for use with

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mingw32-make.

? Green Hills MULTI? ? ? ? ? ? = Generates Green Hills MULTI files

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (experimental, work-in-progress).

? Unix Makefiles? ? ? ? ? ? ? = Generates standard UNIX makefiles.

? Ninja? ? ? ? ? ? ? ? ? ? ? ? = Generates build.ninja files.

? Ninja Multi-Config? ? ? ? ? = Generates build-<Config>.ninja files.

? Watcom WMake? ? ? ? ? ? ? ? = Generates Watcom WMake makefiles.

? CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.

? CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.

? CodeBlocks - NMake Makefiles JOM

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = Generates CodeBlocks project files.

? CodeBlocks - Ninja? ? ? ? ? = Generates CodeBlocks project files.

? CodeBlocks - Unix Makefiles? = Generates CodeBlocks project files.

? CodeLite - MinGW Makefiles? = Generates CodeLite project files.

? CodeLite - NMake Makefiles? = Generates CodeLite project files.

? CodeLite - Ninja? ? ? ? ? ? = Generates CodeLite project files.

? CodeLite - Unix Makefiles? ? = Generates CodeLite project files.

? Eclipse CDT4 - NMake Makefiles

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = Generates Eclipse CDT 4.0 project files.

? Eclipse CDT4 - MinGW Makefiles

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = Generates Eclipse CDT 4.0 project files.

? Eclipse CDT4 - Ninja? ? ? ? = Generates Eclipse CDT 4.0 project files.

? Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

? Kate - MinGW Makefiles? ? ? = Generates Kate project files.

? Kate - NMake Makefiles? ? ? = Generates Kate project files.

? Kate - Ninja? ? ? ? ? ? ? ? = Generates Kate project files.

? Kate - Unix Makefiles? ? ? ? = Generates Kate project files.

? Sublime Text 2 - MinGW Makefiles

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = Generates Sublime Text 2 project files.

? Sublime Text 2 - NMake Makefiles

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = Generates Sublime Text 2 project files.

? Sublime Text 2 - Ninja? ? ? = Generates Sublime Text 2 project files.

? Sublime Text 2 - Unix Makefiles

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = Generates Sublime Text 2 project files.

D:\cmake_test\build>cmake -G"Visual Studio 12 2013 Win64" ..

-- The C compiler identification is MSVC 18.0.30501.0

-- The CXX compiler identification is MSVC 18.0.30501.0

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe - skipped

-- Detecting C compile features

-- Detecting C compile features - done

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/cl.exe - skipped

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Configuring done

-- Generating done

-- Build files have been written to: D:/cmake_test/build

D:\cmake_test\build>cd ..

D:\cmake_test>mkdir build nmakebuild

子目錄或文件 build 已經(jīng)存在村怪。

處理: build 時出錯。

D:\cmake_test>mkdir nmakebuild

子目錄或文件 nmakebuild 已經(jīng)存在澳泵。

D:\cmake_test>cd nmakebuild

D:\cmake_test\nmakebuild>cmake -G"NMake Makefiles" ..

CMake Error at CMakeLists.txt:1 (project):

? Running

? 'nmake' '-?'

? failed with:

? 緋葷粺鎵句笉鍒版寚瀹氱殑鏂囦歡銆

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

-- Configuring incomplete, errors occurred!

See also "D:/cmake_test/nmakebuild/CMakeFiles/CMakeOutput.log".

D:\cmake_test\nmakebuild>namke

'namke' 不是內(nèi)部或外部命令实愚,也不是可運行的程序

或批處理文件。

D:\cmake_test\nmakebuild>nmake

'nmake' 不是內(nèi)部或外部命令兔辅,也不是可運行的程序

或批處理文件。

D:\cmake_test\nmakebuild>cd ..\build\Debug

D:\cmake_test\build\Debug>main.exe

3

D:\cmake_test\build\Debug>main.exe

3

D:\cmake_test\build\Debug>cd ..

D:\cmake_test\build>cd ..

D:\cmake_test>ls

'ls' 不是內(nèi)部或外部命令击喂,也不是可運行的程序

或批處理文件维苔。

D:\cmake_test>dir

驅(qū)動器 D 中的卷是 Data

卷的序列號是 1A5E-4142

D:\cmake_test 的目錄

06/07/2021? 18:58? ? <DIR>? ? ? ? ? .

06/07/2021? 18:58? ? <DIR>? ? ? ? ? ..

06/07/2021? 19:00? ? <DIR>? ? ? ? ? build

06/07/2021? 18:54? ? ? ? ? ? ? ? 46 CMakeLists.txt

06/07/2021? 19:02? ? ? ? ? ? ? 113 main.cpp

06/07/2021? 18:59? ? <DIR>? ? ? ? ? nmakebuild

? ? ? ? ? ? ? 2 個文件? ? ? ? ? ? 159 字節(jié)

? ? ? ? ? ? ? 4 個目錄 214,069,063,680 可用字節(jié)

D:\cmake_test>touch add.cpp

'touch' 不是內(nèi)部或外部命令,也不是可運行的程序

或批處理文件懂昂。

D:\cmake_test>cd build

D:\cmake_test\build>cmake -G"Visual Studio 12 2013 Win64" ..

-- Configuring done

-- Generating done

-- Build files have been written to: D:/cmake_test/build

D:\cmake_test\build>cd Debug

D:\cmake_test\build\Debug>main.exe

3

D:\cmake_test\build\Debug>cd ..

D:\cmake_test\build>cmake -G"Visual Studio 12 2013 Win64" ..

-- Configuring done

-- Generating done

-- Build files have been written to: D:/cmake_test/build

D:\cmake_test\build>cmake -G"Visual Studio 12 2013 Win64" ..

-- Configuring done

-- Generating done

-- Build files have been written to: D:/cmake_test/build

D:\cmake_test\build>cmake -G"Visual Studio 12 2013 Win64" ..

CMake Warning (dev) in CMakeLists.txt:

? No cmake_minimum_required command is present.? A line of code such as

? ? cmake_minimum_required(VERSION 3.21)

? should be added at the top of the file.? The version specified may be lower

? if you wish to support older CMake versions for this project.? For more

? information run "cmake --help-policy CMP0000".

This warning is for project developers.? Use -Wno-dev to suppress it.

-- Configuring done

-- Generating done

-- Build files have been written to: D:/cmake_test/build

D:\cmake_test\build>cd Debug

D:\cmake_test\build\Debug>main.exe

3

D:\cmake_test\build\Debug>



caffe的cmake.list.txt
cmake_minimum_required(VERSION 2.8.7)

if(MSVC)

? # CMake 3.4 introduced a WINDOWS_EXPORT_ALL_SYMBOLS target property that makes it possible to

? # build shared libraries without using the usual declspec() decoration.

? # See: https://blog.kitware.com/create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/

? # and https://cmake.org/cmake/help/v3.5/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html

? # for details.

? cmake_minimum_required(VERSION 3.4)

endif()

if(POLICY CMP0046)

? cmake_policy(SET CMP0046 NEW)

endif()

if(POLICY CMP0054)

? cmake_policy(SET CMP0054 NEW)

endif()

# ---[ Caffe project

project(Caffe C CXX)

# ---[ Caffe version

set(CAFFE_TARGET_VERSION "1.0.0" CACHE STRING "Caffe logical version")

set(CAFFE_TARGET_SOVERSION "1.0.0" CACHE STRING "Caffe soname version")

add_definitions(-DCAFFE_VERSION=${CAFFE_TARGET_VERSION})

# ---[ Using cmake scripts and modules

list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)

include(ExternalProject)

include(GNUInstallDirs)

include(cmake/Utils.cmake)

include(cmake/Targets.cmake)

include(cmake/Misc.cmake)

include(cmake/Summary.cmake)

include(cmake/ConfigGen.cmake)

include(cmake/WindowsCreateLinkHeader.cmake)

include(cmake/TargetResolvePrerequesites.cmake)

# ---[ Options

caffe_option(CPU_ONLY? "Build Caffe without CUDA support" OFF) # TODO: rename to USE_CUDA

caffe_option(USE_CUDNN "Build Caffe with cuDNN library support" ON IF NOT CPU_ONLY)

caffe_option(USE_NCCL "Build Caffe with NCCL library support" OFF)

if(MSVC)

? # default to static libs

? caffe_option(BUILD_SHARED_LIBS "Build shared libraries" OFF)

else()

? caffe_option(BUILD_SHARED_LIBS "Build shared libraries" ON)

endif()

caffe_option(BUILD_python "Build Python wrapper" ON)

set(python_version "2" CACHE STRING "Specify which Python version to use")

caffe_option(BUILD_matlab "Build Matlab wrapper" OFF)

caffe_option(BUILD_docs? "Build documentation" ON IF UNIX OR APPLE)

caffe_option(BUILD_python_layer "Build the Caffe Python layer" ON)

caffe_option(USE_OPENCV "Build with OpenCV support" ON)

caffe_option(USE_LEVELDB "Build with levelDB" ON)

caffe_option(USE_LMDB "Build with lmdb" ON)

caffe_option(ALLOW_LMDB_NOLOCK "Allow MDB_NOLOCK when reading LMDB files (only if necessary)" OFF)

caffe_option(USE_OPENMP "Link with OpenMP (when your BLAS wants OpenMP and you get linker errors)" OFF)

caffe_option(protobuf_MODULE_COMPATIBLE "Make the protobuf-config.cmake compatible with the module mode" ON IF MSVC)

caffe_option(COPY_PREREQUISITES "Copy the prerequisites next to each executable or shared library directory" ON IF MSVC)

caffe_option(INSTALL_PREREQUISITES "Install the prerequisites next to each executable or shared library directory" ON IF MSVC)

if(MSVC AND BUILD_SHARED_LIBS)

? if(CMAKE_GENERATOR MATCHES "Visual Studio")

? ? # see issue https://gitlab.kitware.com/cmake/cmake/issues/16552#note_215236

? ? message(FATAL_ERROR "The Visual Studio generator cannot build a shared library. Use the Ninja generator instead.")

? endif()

? # Some tests (solver tests) fail when caffe is built as a shared library. The problem comes

? # from protobuf that has a global static empty_string_ variable. Since caffe and test.testbin

? # link to a static protobuf library both end up with their own instance of the empty_string_

? # variable. This causes some SEH exception to occur. In practice if the caffe executable does not link

? # to protobuf this problem should not happen. Use at your own risk.

? message(WARNING "Some tests (solvers) will fail when building as a shared library with MSVC")

endif()

# ---[ Prebuild dependencies on windows

include(cmake/WindowsDownloadPrebuiltDependencies.cmake)

# ---[ Dependencies

include(cmake/Dependencies.cmake)

# ---[ Flags

if(UNIX OR APPLE)

? set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall")

endif()

caffe_set_caffe_link()

if(USE_libstdcpp)

? set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")

? message("-- Warning: forcing libstdc++ (controlled by USE_libstdcpp option in cmake)")

endif()

# ---[ Warnings

caffe_warnings_disable(CMAKE_CXX_FLAGS -Wno-sign-compare -Wno-uninitialized)

# ---[ Config generation

configure_file(cmake/Templates/caffe_config.h.in "${PROJECT_BINARY_DIR}/caffe_config.h")

# ---[ Includes

set(Caffe_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)

set(Caffe_SRC_DIR ${PROJECT_SOURCE_DIR}/src)

include_directories(${PROJECT_BINARY_DIR})

# ---[ Includes & defines for CUDA

# cuda_compile() does not have per-call dependencies or include pathes

# (cuda_compile() has per-call flags, but we set them here too for clarity)

#

# list(REMOVE_ITEM ...) invocations remove PRIVATE and PUBLIC keywords from collected definitions and include pathes

if(HAVE_CUDA)

? # pass include pathes to cuda_include_directories()

? set(Caffe_ALL_INCLUDE_DIRS ${Caffe_INCLUDE_DIRS})

? list(REMOVE_ITEM Caffe_ALL_INCLUDE_DIRS PRIVATE PUBLIC)

? cuda_include_directories(${Caffe_INCLUDE_DIR} ${Caffe_SRC_DIR} ${Caffe_ALL_INCLUDE_DIRS})

? # add definitions to nvcc flags directly

? set(Caffe_ALL_DEFINITIONS ${Caffe_DEFINITIONS})

? list(REMOVE_ITEM Caffe_ALL_DEFINITIONS PRIVATE PUBLIC)

? list(APPEND CUDA_NVCC_FLAGS ${Caffe_ALL_DEFINITIONS})

endif()

# ---[ Subdirectories

add_subdirectory(src/gtest)

add_subdirectory(src/caffe)

add_subdirectory(tools)

add_subdirectory(examples)

add_subdirectory(python)

add_subdirectory(matlab)

add_subdirectory(docs)

# ---[ Linter target

add_custom_target(lint COMMAND ${CMAKE_COMMAND} -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -P ${PROJECT_SOURCE_DIR}/cmake/lint.cmake)

# ---[ pytest target

if(BUILD_python)

? if(UNIX)

? ? set(python_executable python${python_version})

? else()

? ? set(python_executable ${PYTHON_EXECUTABLE})

? endif()

? add_custom_target(pytest COMMAND ${python_executable} -m unittest discover -s caffe/test WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/python )

? add_dependencies(pytest pycaffe)

endif()

# ---[ uninstall target

configure_file(

? ? ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Uninstall.cmake.in

? ? ${CMAKE_CURRENT_BINARY_DIR}/cmake/Uninstall.cmake

? ? IMMEDIATE @ONLY)

add_custom_target(uninstall

? ? COMMAND ${CMAKE_COMMAND} -P

? ? ${CMAKE_CURRENT_BINARY_DIR}/cmake/Uninstall.cmake)

# ---[ Configuration summary

caffe_print_configuration_summary()

# ---[ Export configs generation

caffe_generate_export_configs()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末介时,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子凌彬,更是在濱河造成了極大的恐慌沸柔,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铲敛,死亡現(xiàn)場離奇詭異褐澎,居然都是意外死亡,警方通過查閱死者的電腦和手機伐蒋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門工三,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迁酸,“玉大人,你說我怎么就攤上這事俭正〖轺蓿” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵掸读,是天一觀的道長串远。 經(jīng)常有香客問我,道長儿惫,這世上最難降的妖魔是什么抑淫? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮姥闪,結(jié)果婚禮上始苇,老公的妹妹穿的比我還像新娘。我一直安慰自己筐喳,他們只是感情好催式,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著避归,像睡著了一般荣月。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梳毙,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天哺窄,我揣著相機與錄音,去河邊找鬼账锹。 笑死萌业,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的奸柬。 我是一名探鬼主播生年,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼廓奕!你這毒婦竟也來了抱婉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤桌粉,失蹤者是張志新(化名)和其女友劉穎蒸绩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铃肯,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡患亿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缘薛。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窍育。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡卡睦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出漱抓,到底是詐尸還是另有隱情表锻,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布乞娄,位于F島的核電站瞬逊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏仪或。R本人自食惡果不足惜确镊,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望范删。 院中可真熱鬧蕾域,春花似錦、人聲如沸到旦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽添忘。三九已至采呐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搁骑,已是汗流浹背斧吐。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仲器,地道東北人煤率。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像娄周,于是被迫代替她去往敵國和親涕侈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容