OpenSSL Compile WinCE 6.0 - c++

I am trying to compile OpenSSL 0.9.8i with windows CE SDK Toradex CE600 with reference to steps defined in the link below
OpenSSL Compile WinCE
When running nmake -f ms\cedll.mak command getting many Link2001 Errors as below
Please Help me in resolving this errors.
OLDNAMES.lib(wcsdup.obj) : error LNK2001: unresolved external symbol _wcsdup
OLDNAMES.lib(strnicmp.obj) : error LNK2001: unresolved external symbol __strnicmp
OLDNAMES.lib(stricmp.obj) : error LNK2001: unresolved external symbol __stricmp
OLDNAMES.lib(setmode.obj) : error LNK2001: unresolved external symbol __setmode
OLDNAMES.lib(fileno.obj) : error LNK2001: unresolved external symbol __fileno
OLDNAMES.lib(strdup.obj) : error LNK2001: unresolved external symbol __strdup
OLDNAMES.lib(wcsdup.obj) : error LNK2001: unresolved external symbol __wcsdup
out32dll_ARMV4I\libeay32d.dll : fatal error LNK1120: 113 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm\link.EXE"' : return code '0x460'
Stop.

If you need to add SSL/TLS support to your application and don't have specific dependencies on openSSL, you may have a look at mbedTLS:
https://github.com/ARMmbed/mbedtls
I made a fork of an old version to build it for Windows Embedded Compact 2013:
https://github.com/VMinute/mbedtls
and it builds with almost no changes.

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.

lua 5.2.1 unresolved externals

I'm using visual studio 2012 and when I try to compile, I get following errors:
Error 7 error LNK1120: 6 unresolved externals C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\Release\LuaTest.exe LuaTest
Error 4 error LNK2001: unresolved external symbol _lua_close C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 5 error LNK2001: unresolved external symbol _lua_pcallk C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 6 error LNK2001: unresolved external symbol _lua_settop C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 2 error LNK2001: unresolved external symbol _luaL_loadfilex C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 1 error LNK2001: unresolved external symbol _luaL_newstate C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 3 error LNK2001: unresolved external symbol _luaopen_base C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Source code taken from
HERE.
Using following library version: lua-5.2.1_Win32_dll10_lib.zip
I tried different lua52.lib files, but with all of them I get these errors.
What could be wrong?
You are using Visual Studio 2012, but library files from here appealingly only support up to Visual Studio 2010.
Anyway, Lua is small and very easy to compile. I would really recommend you to include Lua source files in Visual Studio instead of libraries.

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