Building myself OpenCV with CUDA. Error LNK1104 - c++

I need OpenCV 3.2.0 with CUDA8.0.
I'm following this tutorial and at the last step - building the INSTALL project - Visual Studio 2013 giving me about 45 errors like:
LNK1104: cannot open file "..\..\lib\Debug\opencv_world320d.lib
The error occurs about 30-40 minutes after start building.
This is the first error that occurs:
> C:\Program Files (x86)\Windows Kits\8.1\Include\um\combaseapi.h(229): error : identifier "IUnknown" is undefined
9>
9>C:\Program Files (x86)\Windows Kits\8.1\Include\um\combaseapi.h(229): warning : expression has no effect
9>
9>D:\OCV\opencv-3.2.0\modules\core\include\opencv2/core/base.hpp(365): warning : function declared with "noreturn" does return
9>
9> 1 error detected in the compilation of "C:/Users/tomus/AppData/Local/Temp/tmpxft_000018ac_00000000-6_gftt.cpp4.ii".
9>CUSTOMBUILD : nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
9> gftt.cu
9> CMake Error at cuda_compile_generated_gftt.cu.obj.cmake:264 (message):
9> Error generating file
9> D:/OCV/build2/modules/world/CMakeFiles/cuda_compile.dir/__/cudaimgproc/src/cuda/Debug/cuda_compile_generated_gftt.cu.obj
After that I have 47 errors LNK1104.

Related

ProtocolBuffer C++ Visual Studio 2019

I am trying to build Protocolbuffer for Visual Studio 2019 x86,
I followed the steps in this page
https://github.com/protocolbuffers/protobuf/blob/main/cmake/README.md
for release I tried:
cmake -G "NMake Makefiles" ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_GENERATOR_PLATFORM=Win32 ^
-DCMAKE_INSTALL_PREFIX=C:\protocolbuffers\install ^
C:\protocolbuffers\protobuf
I have the error
CMake Error at CMakeLists.txt:24 (project): Generator
NMake Makefiles
does not support platform specification, but platform
Win32
was specified.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake
Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
if I removed the -DCMAKE_GENERATOR_PLATFORM=Win32 ^ I can create the correct files but when I compile the error is
protocolbuffers\protobuf\src\google\protobuf\extension_set_unittest.cc(871):
note: see reference to function template instantiation 'int
google::protobuf::internal::RepeatedFieldLowerClampLimit<int64_t,4>(void)'
being compiled NMAKE : fatal error U1077: '"C:\Program Files
(x86)\Microsoft Visual
Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe"'
: return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program
Files (x86)\Microsoft Visual
Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\nmake.exe"'
: return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program
Files (x86)\Microsoft Visual
Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\nmake.exe"'
: return code '0x2' Stop.
I need to create the lib files for:
libprotobuf.lib, libprotobuf-lite.lib, libprotoc.lib
and
protoc.exe

'PERL_EXECUTABLE-NOTFOUND' is not recognized as an internal or external command, operable program or batch file

While trying to compile amazon-kinesis-video-streams-producer-sdk-cpp-repo I am getting an error 'PERL_EXECUTABLE-NOTFOUND' is not recognized as an internal or external command, operable program or batch file. I find this error strange and cannot find any solution online. I have installed ActivePerl and I am using Windows 10. I have added the following paths(where ActivePerl is installed) to environment variables also:
C:\Users\amay\AppData\Local\activestate\bin
C:\Users\amay\AppData\Local\activestate\bin\perl.exe
C:\Users\amay\AppData\Roaming\ActiveState\bin
If I run perl -v on cmd it works fine so I am assuming the paths are not the issue here. I am running this command: cmake .. -G "NMake Makefiles" -DBUILD_GSTREAMER_PLUGIN=ON on x64 Native Tools Command Prompt VS 2017.
Here is the error:
[ 67%] Linking C executable lib1518.exe
[ 67%] Built target lib1518
Scanning dependencies of target lib1520
[ 67%] Building C object tests/libtest/CMakeFiles/lib1520.dir/lib1520.c.obj
cl : Command line warning D9025 : overriding '/MDd' with '/MTd'
lib1520.c
[ 67%] Building C object tests/libtest/CMakeFiles/lib1520.dir/first.c.obj
cl : Command line warning D9025 : overriding '/MDd' with '/MTd'
first.c
[ 67%] Linking C executable lib1520.exe
[ 67%] Built target lib1520
[ 67%] Generating lib1521.c
'PERL_EXECUTABLE-NOTFOUND' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'PERL_EXECUTABLE-NOTFOUND' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
CMake Error at dependency/libkvscproducer/kvscproducer-src/CMake/Utilities.cmake:93 (message):
CMake step for libcurl failed: 2
Call Stack (most recent call first):
dependency/libkvscproducer/kvscproducer-src/CMakeLists.txt:86 (build_dependency)
-- Configuring incomplete, errors occurred!
See also "C:/Users/amay/amazon-kinesis-video-streams-producer-sdk-cpp/build/CMakeFiles/CMakeOutput.log".

Curl static compilation problem (X509_NAME) on Windows with BoringSSL 1.1.0

I have a recent problem when I try to compile Curl static lib on windows with BoringSSL. The above commands where working fine 6 months ago, but with latest versions of Curl and BoringSSL I came into an issue in the nmake command.
What I'm doing:
call buildconf.bat
cd "winbuild"
set RTLIBCFG=static
set _CL_=-MTd -Ob0 -Od -Zi -FS
call nmake /NOLOGO /X - /F MakeFile.vc VC=16 mode=static MACHINE=x64 DEBUG=yes WITH_PREFIX="C:/cpplibs/Curl" WITH_SSL=static SSL_PATH="C:/cpplibs/BoringSSL" ENABLE_SSPI=yes ENABLE_IPV6=yes ENABLE_IDN=yes ENABLE_WINSSL=no
What I face with in console output:
Generating prerequisite files
* C:\cpplibs\Sources\Curl\latest\Makefile
* C:\cpplibs\Sources\Curl\latest\src\tool_hugehelp.c
configuration name: libcurl-vc16-x64-release-static-ssl-static-ipv6-sspi
cl /O2 /DNDEBUG /MT /DCURL_STATICLIB /I. /I ../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL /DUSE_OPENSSL /I"C:/cpplibs/BoringSSL" /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES /DUSE_IPV6 /DUSE_WINDOWS_SSPI /Fo"..\builds\libcurl-vc16-x64-release-static-ssl-static-ipv6-sspi-obj-lib/altsvc.obj" ..\lib\altsvc.c
altsvc.c
... 100+ successfull calls
cl /O2 /DNDEBUG /MT /DCURL_STATICLIB /I. /I ../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL /DUSE_OPENSSL /I"C:/cpplibs/BoringSSL" /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES /DUSE_IPV6 /DUSE_WINDOWS_SSPI /Fo"..\builds\libcurl-vc16-x64-release-static-ssl-static-ipv6-sspi-obj-lib/vtls/openssl.obj" ..\lib\vtls\openssl.c
openssl.c
C:/cpplibs/BoringSSL/openssl/base.h(362): error C2059: syntax error: '<parameter-list>'
C:/cpplibs/BoringSSL/openssl/x509.h(154): error C2059: syntax error: '<parameter-list>'
C:/cpplibs/BoringSSL/openssl/x509.h(154): error C2143: syntax error: missing ')' before '('
C:/cpplibs/BoringSSL/openssl/x509.h(154): error C2059: syntax error: ')'
C:/cpplibs/BoringSSL/openssl/x509.h(154): error C2143: syntax error: missing ')' before 'constant'
C:/cpplibs/BoringSSL/openssl/x509.h(154): error C2091: function returns function
...
C:/cpplibs/BoringSSL/openssl/x509_vfy.h(508): error C2061: syntax error: identifier 'X509_STORE_get_lookup_crls'
C:/cpplibs/BoringSSL/openssl/x509_vfy.h(508): error C2059: syntax error: ';'
C:/cpplibs/BoringSSL/openssl/x509_vfy.h(508): error C2059: syntax error: '<parameter-list>'
C:/cpplibs/BoringSSL/openssl/x509_vfy.h(508): fatal error C1003: error count exceeds 100; stopping compilation
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
So I've investigated, and all the errors at the indicated lines seems to have in common the X509_NAME typedef usage, but the definition is correct in openssl/base.h:
typedef struct X509_name_st X509_NAME;
And in openssl/x509.h:
struct X509_name_st {
STACK_OF(X509_NAME_ENTRY) * entries;
int modified; // true if 'bytes' needs to be built
BUF_MEM *bytes;
// unsigned long hash; Keep the hash around for lookups
unsigned char *canon_enc;
int canon_enclen;
} /* X509_NAME */;
Furthermore the file ..\lib\vtls\openssl.c in Curl lib includes <openssl/x509v3.h> that includes <openssl/x509.h> that includes <openssl/base.h> ... So everything should be OK, but it's not.
Is there something missing in my commands ?

Trying to setup Qt: 'x64' conflicts with target machine type 'x86' while running nmake

I am trying to set up Qt4 on my 64bit Windows 10 environment. I have successfully ran the configure script, however when I try to run nmake I get the following error:
link /LIBPATH:"c:\Qt\4.8.5\src\tools\bootstrap\release" /NOLOGO /INCREMENTAL:NO /SUBSYSTEM:CONSOLE /OUT:..\..\..\bin\moc.exe #C:\Users\Evan\AppData\Local\Temp\nm1BD8.tmp
release\main.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.EXE"' : return code '0x458'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
I know the problem is the conflict of the two system types (x64/x86) But I don't know how to get passed this problem.
All I'm trying to do is run nmake in a command line. I have ran vcvarsall before nmake as well in the Visual Studio 14 folder. Any ideas?

Static build of Qt 5.1.1 on windows 7 - nmake and cl error

I'm trying to build a static version of Qt 5.1.1 on Windows, but eventually receive a bunch of errors from nmake.
Following that topic - standalone exe in Qt I did the following:
Downloaded Qt source code (http://download.qt-project.org/official_releases/qt/5.1/5.1.1/single/qt-everywhere-opensource-src-5.1.1.zip)
Configured executing the following: configure.bat -static -release -no-audio-backend -opengl desktop -opensource -confirm-license
Ran nmake from MS Visual Studio command line.
The compilation process runs for some while, and eventually throws the following:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(325) : err
or C2556: 'bool signbit(double)' : overloaded function differs only by return ty
pe from 'int signbit(double)'
c:\qt\qt-everywhere-opensource-src-5.1.1\qtjsbackend\src\3rdparty\v8\src
\win32-math.h(59) : see declaration of 'signbit'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(325) : err
or C2371: 'signbit' : redefinition; different basic types
c:\qt\qt-everywhere-opensource-src-5.1.1\qtjsbackend\src\3rdparty\v8\src
\platform.h(74) : see declaration of 'lrint'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(506) : err
or C2371: 'lrint' : redefinition; different basic types
c:\qt\qt-everywhere-opensource-src-5.1.1\qtjsbackend\src\3rdparty\v8\src
\platform.h(74) : see declaration of 'lrint'
snapshot-empty.cc
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(325) : err
or C2556: 'bool signbit(double)' : overloaded function differs only by return ty
pe from 'int signbit(double)'
c:\qt\qt-everywhere-opensource-src-5.1.1\qtjsbackend\src\3rdparty\v8\src
\win32-math.h(59) : see declaration of 'signbit'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(325) : err
or C2371: 'signbit' : redefinition; different basic types
c:\qt\qt-everywhere-opensource-src-5.1.1\qtjsbackend\src\3rdparty\v8\src
\win32-math.h(59) : see declaration of 'signbit'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(506) : err
or C2556: 'long lrint(double)' : overloaded function differs only by return type
from 'int lrint(double)'
c:\qt\qt-everywhere-opensource-src-5.1.1\qtjsbackend\src\3rdparty\v8\src
\platform.h(74) : see declaration of 'lrint'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(506) : err
or C2371: 'lrint' : redefinition; different basic types
c:\qt\qt-everywhere-opensource-src-5.1.1\qtjsbackend\src\3rdparty\v8\src
\platform.h(74) : see declaration of 'lrint'
Generating Code...
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0
\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0
\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
Has anyone met such case? I'm not sure why it's complaining about the Qt sources.
Thanks!
Solved. I was building it with VS 2013, which actually doesn't support V8 module properly, so I got to use VS 2012, that worked fine with the following configuration: configure.bat -static -release -no-audio-backend -opengl desktop -opensource -nomake examples -confirm-license