Odd linker errors, couldn't find help anywhere - c++

1>client.obj : error LNK2001: unresolved external symbol __Init_thread_epoch
1>client.obj : error LNK2001: unresolved external symbol __Init_thread_footer
1>client.obj : error LNK2001: unresolved external symbol __Init_thread_header
1>config.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" (??3#YAXPAXI#Z)
The project was made using v140 toolset, updated to v142 and this happened. I tried going back to old project version and building it using v140 toolset in newest VS, even tried old VS 2015 and nothing.

Related

LIBCURL error in VS2017 C++ :: error LNK2019: unresolved external symbol _curl_easy_init

I compiled CURL for windows to use in VS2017 as
shown in this video
Also i have defined CURL_STATICLIB in preprocessor in C/C++ configuration properties.
Actual project properties is as
But it get below unresolved symbol errors for LIBCURL only
1>mainfile.obj : error LNK2001: unresolved external symbol _curl_easy_init
1>mainfile.obj : error LNK2001: unresolved external symbol _curl_easy_setopt
1>mainfile.obj : error LNK2001: unresolved external symbol _curl_easy_perform
1>mainfile.obj : error LNK2001: unresolved external symbol _curl_easy_cleanup
Please help in resolving , it 5 hrs i have been trying to remove this :(

Error Link 2001 libavformat.a(tls_schannel.o) when building any ffmpeg project in Visual Studio 2010

I have just built ffmpeg latest version 3.0 and when I am trying to build ffmpeg related project in Visual Studio 2010, it gives this error:
libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _FreeContextBuffer#4
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _InitializeSecurityContextA#48
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol __imp__ApplyControlToken#8
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol __imp__FreeCredentialsHandle#4
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol __imp__DeleteSecurityContext#4
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _AcquireCredentialsHandleA#36
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _DecryptMessage#16
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _EncryptMessage#16
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _QueryContextAttributesA#12
My project is able to build an older version from 2014. When I search in 2014 ffmpeg there is no tls_schannel.c present.
But I have to make project now with latest ffmpeg3.0.
So please tell me how to make it work.
Above problem is solved by doing following steps:
i have run command line ./cibfugyre --toolchain=msvc --enable-gpl --disable-network
Then i build again with make command.
Then i included resultant library and headers and my project is running now.
The problem was i was not doing --disable-network. For that you can do google.
Thank you.

I am trying to use a 2005 era library with MSVC 2013 but I am getting unresolved externals errors in Release Mode

The setup:
I have successfully compiled DarkGDK, a library designed for use with DirectX SDK 2007 and VS 2008, in VS 2013 with DirectX SDK 2010. I replaced one of the component libraries with a custom dummy library to resolve DirectX conflicts. I was able to successfully compile all of these component libraries.
The Problem:
When I compile my project that makes use of the DarkGDK libraries in Release mode, everything works as expected. I do get an message box complaining that the binary was built without debug information, but my program runs. However, in Debug mode, I get a number of errors. Below find a sample that I believe represents the lot well:
1>convmdl.lib(ConvMDL.obj) : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "void __cdecl QuaternionSlerp(float const * const,float * const,float,float * const)" (?QuaternionSlerp##YAXQBMQAMM1#Z)
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>system.lib(CSystemC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>system.lib(dxdiaginfo.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>convx.lib(ConvX.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>convmd3.lib(ConvMD3.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CBSPTree.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CCompiler.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(ProcessHSR.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>world.lib(Patch.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(Universe.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(cLightMaps.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CSG.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(NVMeshMenderD3DX.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>image.lib(CImageC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>animation.lib(CAnimation.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(DBOFormat.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CObjectManagerC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>core.lib(RenderList.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>display.lib(CGfxC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>file.lib(CFileC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>sprites.lib(CSpriteManagerC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>Debug\Weapon Creator 2 - Project Golden Girl.exe : fatal error LNK1120: 1 unresolved externals
I have been searching about this issue for a few days now. I have have checked all the projects' settings that belong to the DarkGDK library and my own project's settings. In Debug configuration they are all using "Multi-threaded Debug (/MTd)".
TL;DR
I am getting the above errors when attempting to compile a project in Debug configuration that uses the DarkGDK Library. All projects have the same Windows Library and C run time settings.
Thank you!
Edit: Errors changed to reflect Dauphic's contribution.
You're mixing debug and release runtimes.
__CrtDbgReportW only exists in the debug runtime. If it's unresolved, it means you're probably compiling using the release runtime, but one of your libraries is using the debug runtime. You have to recompile one or the other, so they both use the same version.
You can find the runtime property at Project Properties -> C/C++ -> Code Generation -> Runtime Library
For the unresolved ATL symbol, I believe you need to link atls.lib.

Miscrosoft VS C++ linking error when building for 64bit version

I am using Visual Studio 2005.
I am able to build 32bit without issue. But when I am building
64bit version, I am getting below linking error:
1>QALPROC.exp : error LNK2001: unresolved external symbol "const CustomMessageException::`vftable'" (??_7CustomMessageException##6B#)
1>QALPROC.exp : error LNK2001: unresolved external symbol "const DBException::`vftable'" (??_7DBException##6B#)
1>QALPROC.exp : error LNK2001: unresolved external symbol "const Exception::`vftable'" (??_7Exception##6B#)
1>QALPROC.exp : error LNK2001: unresolved external symbol "const FileExportLoadException::`vftable'" (??_7FileExportLoadException##6B#)
1>QALPROC.exp : error LNK2001: unresolved external symbol "const PMemoryException::`vftable'" (??_7PMemoryException##6B#)
1>QALPROC.exp : error LNK2001: unresolved external symbol "const ReportsLoadingException::`vftable'" (??_7ReportsLoadingException##6B#)

Calling a c++ .exe from Matlab - Program Stopped Working?

I wrote a code in C++ called FaceTracker.cpp and other code in Matlab that do some analyzes and statics.
What I need to do is adding a button in matlab that calls the FaceTracker when being pressed. I tried to use the following command:
system (['FaceTracker.exe <' nameOfVideo]);
but it doesn't work. It opens the FaceTracker.exe GUI, then it stops ! (Like when internet explorer or any other program does sometimes\hang) with the msg "FaceTracker.exe stoped working.
When I tried to run the .exe from command prompt it showed me the following error:
Assertion Faile: Type == IO::TRACKER ... Debug error! R6010 - abort() has been called.
From what i understd from the answers\ other sites is that I need to statically link libraries.
I read in one site that I need to make the following changes:
The CRT:
• Configuration Properties -> C/C++ -> Code Generation: Where it reads Runtime Library, change to Multi-Threaded (/MT).
The manifest must go:
• Configuration Properties -> Manifest Tool -> Input and Output: Where it reads Embed Manifest, change to No.
But when I do it (Change to /MT) I start getting the following errors:
1> Generating Code... 1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library 1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW 1>Tracker.obj : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: void
__thiscall FACETRACKER::Tracker::Load(char const *)" (?Load#Tracker#FACETRACKER##QAEXPBD#Z) 1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW 1>libcpmtd.lib(cout.obj) : error LNK2001: unresolved external symbol
__CrtDbgReportW 1>libcpmtd.lib(cin.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW 1>IO.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>Patch.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>PAW.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>PDM.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>CLM.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>FaceTracker.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>FCheck.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>FDet.obj : error LNK2001: unresolved external symbol __CrtDbgReportW 1>libcpmtd.lib(cin.obj) : error LNK2001: unresolved external symbol
__free_dbg 1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __free_dbg 1>Tracker.obj : error LNK2001: unresolved external symbol __free_dbg 1>libcpmtd.lib(xdebug.obj) : error LNK2001: unresolved external symbol __free_dbg 1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __free_dbg 1>libcpmtd.lib(cout.obj) : error LNK2001: unresolved external symbol
__free_dbg 1>IO.obj : error LNK2001: unresolved external symbol __free_dbg 1>Patch.obj : error LNK2001: unresolved external symbol __free_dbg 1>PAW.obj : error LNK2001: unresolved external symbol __free_dbg 1>PDM.obj : error LNK2001: unresolved external symbol __free_dbg 1>CLM.obj : error LNK2019: unresolved external symbol __free_dbg referenced in function "private: void __thiscall std::_Yarn<char>::_Tidy(void)" (?_Tidy#?$_Yarn#D#std##AAEXXZ) 1>FaceTracker.obj : error LNK2001: unresolved external symbol
__free_dbg 1>FCheck.obj : error LNK2001: unresolved external symbol __free_dbg 1>FDet.obj : error LNK2001: unresolved external symbol __free_dbg 1>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char
*,int)" (??2#YAPAXIABU_DebugHeapTag_t#std##PADH#Z) 1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __malloc_dbg 1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __malloc_dbg 1>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_dbg referenced in function __Getctype 1>C:\Users\wew\Documents\Jam3a\PROJECT-2012!!\FindSymetryInFaces\FaceTracker\Debug\FaceTracker.exe : fatal error LNK1120: 4 unresolved externals
Any Suggestions?
What do I Have to do in order to be able to use the FaceTracker.exe in every computer, also the ones that doesn't have c++\vs compiler?
besides, why does my program OPENS when I call it from matlab but then Hangs\stops working?
Thank in advance.
This almost certainly has nothing to do with debug versus release or whether mt is enabled. You are not making a matlab extension, just using a binary from the command line. If the program works when you type things in from the command line, it should work when called from Matlab unless you are running low on memory (highly unlikely also).
I would examine the contents of . .
['FaceTracker.exe < ' InputVid]
...and copy and paste the string directly into the command line (system, not Matlab) to see if you can replicate the error. The error is most likely occurring because your exe is not handling the file string well.
Try putting the inputvid, calling m file, and FaceTracker.exe in the working directory to make the most simple scenario. If that works, make things more complex by placing input vid into another directory and bug hunt from there.
Best of luck!
I think this exe file depends on some other libraries. You should copy them into one of the directories in your system parameter PATH. Or you can use the static link option when build your project.
Your applications don't require the entire Visual C++ compiler to be installed, just the runtime library. Microsoft has a free redistributable which can add this runtime library to any computer. You can find vcredist_x86.exe in your Visual C++ install path, or download it from http://www.microsoft.com/en-us/download/details.aspx?id=8328