我无法从 flandmark v0.7 平台 x86 Win 7 生成 dll
I Can't generate dll from flandmark v0.7 Plataform x86 Win 7
我正在尝试编译我的flandmark,但它非常复杂。C: \flandmark\libflandmark\CMakeLists.txt我放在第一行:
set(OpenCV "C:/opencv248/sources/cmake")
这是正确的吗?
遵循我的完整文件CMakeList.txt:
set(OpenCV "C:/opencv248/sources/cmake")
find_package( OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_library(flandmark_static STATIC flandmark_detector.cpp flandmark_detector.h liblbp.cpp liblbp.h)
target_link_libraries(flandmark_static ${OpenCV_LIBS})
if(CMAKE_COMPILER_IS_GNUCC)
set_target_properties(flandmark_static PROPERTIES COMPILE_FLAGS -fPIC)
endif(CMAKE_COMPILER_IS_GNUCC)
set_property(TARGET flandmark_static PROPERTY COMPILE_DEFINITIONS FLANDMARK_STATIC)
add_library(flandmark_shared SHARED flandmark_detector.cpp flandmark_detector.h liblbp.cpp liblbp.h)
target_link_libraries(flandmark_shared ${OpenCV_LIBS})
#setup Config.cmake
SET(FLANDMARK_BASE_DIR "${PROJECT_SOURCE_DIR}/libflandmark")
set(FLANDMARK_BINARY_DIR "${PROJECT_BINARY_DIR}/libflandmark")
configure_file(flandmarkConfig.cmake.in
"${PROJECT_BINARY_DIR}/libflandmark/flandmarkConfig.cmake" @ONLY)
export(PACKAGE flandmark)
当我通过CMake gui执行时查看结果:
OpenCV ARCH: x86
OpenCV RUNTIME: mingw
OpenCV STATIC: OFF
CMake Warning at C:/opencv248/build/OpenCVConfig.cmake:161 (message):
Found OpenCV Windows Pack but it has not binaries compatible with your
configuration.
You should manually point CMake variable OpenCV_DIR to your build of OpenCV
library.
Call Stack (most recent call first):
libflandmark/CMakeLists.txt:2 (find_package)
CMake Error at libflandmark/CMakeLists.txt:2 (find_package):
Found package configuration file:
C:/opencv248/build/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
请你详细告诉我该做什么好吗?我不知道他们为什么不提供已经为我们编译的.dll!:(
感谢
您只需将cmake gui中的OpenCV_DIR变量设置为OpenCV的构建目录即可。那么它应该可以毫无问题地工作。
嗨,伙计们,谢谢你们在这一步中帮助我。我已经解决了这个问题我遵循了Uricamic的方向,让我遵循有关解决方案的详细信息:
在cmake-gui中,设置变量OPENCV_DIR=C:/OPENCV/build/x86/vc12/staticclib我选择在哪里构建二进制文件:c:/flandmark-bin之后由Cmake gui生成,生成的结果:
C:flandmark-bin
- CMakeCache.txt
- CMakeFiles
- examples
- libflandmark
- matlab_toolbox
C:flandmark-binCMakeFiles
- cmake.check_cache
- CMakeGNUtoMS_lib.bat
- CMakeOutput.log
- CMakeTmp
C:flandmark-binCMakeFiles3.0.1
- CMakeCCompiler.cmake
- CMakeCXXCompiler.cmake
- CMakeDetermineCompilerABI_C.bin
- CMakeDetermineCompilerABI_CXX.bin
- CMakeRCCompiler.cmake
- CMakeSystem.cmake
- CompilerIdC
- CompilerIdCXX
C:flandmark-binCMakeFiles3.0.1CompilerIdC
- a.exe
- CMakeCCompilerId.c
C:flandmark-binCMakeFiles3.0.1CompilerIdCXX
- a.exe
- CMakeCXXCompilerId.cpp
C:flandmark-binCMakeFilesCMakeTmp
C:flandmark-binexamples
- CMakeFiles
- face.jpg
- flandmark_model.dat
- groupphoto.jpg
- haarcascade_frontalface_alt.xml
- seq_bruges04_300frames.avi
C:flandmark-binexamplesCMakeFiles
C:flandmark-binlibflandmark
- CMakeFiles
- flandmarkConfig.cmake
C:flandmark-binlibflandmarkCMakeFiles
C:flandmark-binmatlab_toolbox
- mex
C:flandmark-binmatlab_toolboxmex
- CMakeFiles
这个疑虑解决了!
我的另一个疑问是,我如何生成.dll文件来启动生成的C:/flandmark bin(如上)?
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 为x86而非x64编译时出错
- C++如何仅使用MOV在x86上实现发布和获取
- C/C++ - 查询平台相关的换行符(用于内存映射文件)
- 如何基于平台在制作文件中制作if语句?
- 在 Linux 平台的 C++ 中动态加载 DLL
- 无法使用 aarch64-unknown-nto-qnx7.0.0-g++-5.4.0 编译器交叉编译 QNX 平台的
- 在 c++ 中使用 x86 DIV 的这个 asm 块有什么用?
- 如何判断类型双关语在我的平台上是否可以?
- 如何使用可视化代码和平台IO将环境变量注入CPP文件?
- 在 x86 上实现 std::atomic_thread_fence(std::memory_order_seq_cst
- 将vector<vector<double>>从x86平台中创建的一个进程发送到x64中构建的另一个进程的最快方法是什么
- 在构建服务器上将 dll C++生成到两个平台 (x86+x64)
- 如果给定正确的运行时库,x86 可执行文件是否可以在任何 x86 平台上运行
- 如何在 x86 和 x64 平台之间使用 boost::序列化
- Clang没有为X86以外的其他平台编译代码
- 在 x86-64 平台上为 C(++) 中的 64 位无符号参数计算 (a*b)%n FAST
- ARM平台的数据转换(从x86/x64)
- 我无法从 flandmark v0.7 平台 x86 Win 7 生成 dll
- 如何更改 $(变量.平台)从 x86 到 Wix 中的 Win32