Запуск nmake с openCV - PullRequest
       42

Запуск nmake с openCV

0 голосов
/ 09 июля 2020

Мне нужно запустить nmake в cmd с заголовком, который включает openCV. Мне не удается скомпилировать строку:

#include <opencv2/opencv.hpp>

Там написано:

Microsoft (R) Program Maintenance Utility Version 14.16.27041.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        "cl.exe" /D WIN32_ONLY_COMPILER=1 /DTEST_SRWLOCK_KERNEL=1 /D COMPILE_DL_TEST /D TEST_EXPORTS=1 /nologo /I . /I main /I Zend /I TSRM /I ext /D _WINDOWS /D WINDOWS=1 /D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 /D _USE_MATH_DEFINES /FD /wd4996 /Zc:inline /Zc:__cplusplus /MP /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /GF /D ZEND_DEBUG=0 /D ZTS=1 /I "C:\php-sdk-vs2017-helloworld-imgEncryption2\phpdev\vc15\x64\deps\include" /D FD_SETSIZE=256 /FoC:\php-sdk-vs2017-helloworld-imgEncryption2\phpdev\vc15\x64\php-7.2.31-src\x64\Release_TS\ext\test\ /FpC:\php-sdk-vs2017-helloworld-imgEncryption2\phpdev\vc15\x64\php-7.2.31-src\x64\Release_TS\ext\test\ /FRC:\php-sdk-vs2017-helloworld-imgEncryption2\phpdev\vc15\x64\php-7.2.31-src\x64\Release_TS\ext\test\ /FdC:\php-sdk-vs2017-helloworld-imgEncryption2\phpdev\vc15\x64\php-7.2.31-src\x64\Release_TS\ext\test\ /c ext\test\test.cpp
test.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\xlocale(319): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\string(643): error C2059: syntax error: 'namespace'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\string(643): error C2143: syntax error: missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\string(643): error C2447: '{': missing function header (old-style formal list?)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\complex(2255): error C2059: syntax error: 'namespace'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\complex(2255): error C2143: syntax error: missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\complex(2255): error C2447: '{': missing function header (old-style formal list?)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\chrono(836): error C2059: syntax error: 'namespace'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\chrono(836): error C2143: syntax error: missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\chrono(836): error C2447: '{': missing function header (old-style formal list?)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\chrono(906): error C2653: 'literals': is not a class or namespace name
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\chrono(906): error C2871: 'chrono_literals': a namespace with this name does not exist
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\cl.exe"' : return code '0x2'
Stop.

каталог opencv2 находится в C: \ php -sdk-vs2017-helloworld- imgEncryption2 \ phpdev \ vc15 \ x64 \ deps \ include

Как я могу запустить nmake и связать каталог lib openCV и связать файл lib с ссылкой? Когда я запустил его в Visual Studio, я изменил: Linker -> General -> Additional Library Directories = C: \ opencv \ build \ x64 \ vc14 \ lib Linker -> Input -> Additional Dependencies = opencv_world430.lib Я не удалось запустить nmake с этими настройками (без Visual Studio). Я пробовал:

$ nmake test.cpp /link /LIBPATH:"C:\opencv\build\x64\vc14\lib"
NMAKE : fatal error U1065: invalid option 'H'
Stop.
...