سؤال

I am atempting to build a Multiplatform desktop application using WxWidegts. As the IDE I am using Codlite. Version info is

Codlite: Revision 5770 WxWidgets: 2.9.4 OS: Windows 7 Compiler: g++

The problem is, after compiling, trying to start the program will give an error that tells me wxbase294u_gcc_cl.dll is missing. I thought maybe its a debug library thing, so I set the build configs to release but still the same error.

My understanding was that Wxwidgets builds nativly to the OS so it shouldn't be dependant on such a large dll. The dll exists in the libs that was installed by Codlite, but the system does not seem to pick it up.

Am I supposed to build using VC++? not sure how to set that on the build settings.

I've been a WebApp guy for a long time and new to Cross-Platform devlopment, so help me out if I'm going the wrong way.

Thanks in advance.

هل كانت مفيدة؟

المحلول

The wxWidgets library code must be linked to your application code. This can be done in two ways: A) to use static libraries, which are linked to your application executable when it is built, or B) to use DLLs, which are linked to your application when it runs.

From your question, you have built your application to use DLLS.

You have two options to fix this problem. Easiest will be to copy the required DLLs into your application folder.

You can also change the codelite options to use wxWidgets static libraries - you will need a codelite expert to help you to do that.

I took a quick look at the codelite webpage. It does look like codelite uses wxWidgets DLLs by default. To change this, you will need to built wxWidgets the "DIY" way as described here but set the SHARED make option to 0

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top