User forums > Help

Link errors when compiling beta 5

<< < (2/2)

Urxae:

--- Quote from: mandrav ---CB needs from wxWidgets the following: wxmsw242.dll, libwxmsw242.a, libwxxrc.a and libwxstc.a (xrc and stc are static libs).
Check that they exist, especially libwxxrc.a (based on the errors above). These are for wxWidgets 2.4.2. It works with 2.4.1 and 2.5.x (IIRC), as long as these files exist.
--- End quote ---

I have all of those, except libwxstc.a. I do, however, have libstc.a (which should be the right name looking at the project file and the linker command line).

Actually, libwxxrc.a is also where I suspect the problem might be. I have it, but "grep LoadDialog libwxxrc.a" (see second error message) doesn't turn up anything, though it is in the source. Just to be sure, I'm recompiling it right now.


--- Quote ---If you are not using wxWidgets 2.4.2, go to "Settings/Configure plugins/Compiler", switch to the "Custom variables" tab and add/edit a variable named WX_VER containing the wxWidgets version you 're using (e.g. 241 for wx2.4.1, 242 for wx2.4.2, etc)
--- End quote ---


--- Quote ---Now that I think of it, the variable WX_VER might be the problem. These custom variables, unfortunately, are not saved with the project file but are global options. I must change that...
--- End quote ---

Actually, I noticed that, and I added a custom variable WX_VER set to 242 (my wxWidgets version). And yes, you should change that. :)


--- Quote ---If you still can't find what's going on, go to "Settings/Configure plugins/Compiler", switch to the "Other" tab and set the GCC logging to full. Compile CB and when it stops with the error, post the compile log. I want to see the linker command line (although, if you 're using the supplied project file, it should be fine)...
--- End quote ---



--- Code: ---mingw32-g++.exe -shared -Wl,--output-def="devel\\libcodeblocks.def" -Wl,--out-implib="devel\\libcodeblocks.a" -Wl,--dll   -L"D:\\C++\\MinGW\\lib" -L"D:\\C++\\local\\lib"  -L"sdk/tinyxml" "sdk\\Managers\\.objs\\Managers.o" "sdk\\Managers\\.objs\\StdAfx.o" "sdk\\.objs\\autodetectcompilers.o" "sdk\\.objs\\cbeditor.o" "sdk\\.objs\\cbplugin.o" "sdk\\.objs\\cbproject.o" "sdk\\.objs\\compileoptionsbase.o" "sdk\\.objs\\compiler.o" "sdk\\.objs\\compilerfactory.o" "sdk\\.objs\\compileroptions.o" "sdk\\.objs\\compiletargetbase.o" "sdk\\.objs\\configmanager.o" "sdk\\.objs\\configuretoolsdlg.o" "sdk\\.objs\\confirmreplacedlg.o" "sdk\\.objs\\devcpploader.o" "sdk\\.objs\\editarrayfiledlg.o" "sdk\\.objs\\editarrayorderdlg.o" "sdk\\.objs\\editarraystringdlg.o" "sdk\\.objs\\editorcolorset.o" "sdk\\.objs\\editorconfigurationdlg.o" "sdk\\.objs\\editormanager.o" "sdk\\.objs\\edittooldlg.o" "sdk\\.objs\\filegroupsandmasks.o" "sdk\\.objs\\finddlg.o" "sdk\\.objs\\globals.o" "sdk\\.objs\\incrementalselectlistdlg.o" "sdk\\.objs\\macrosmanager.o" "sdk\\.objs\\manager.o" "sdk\\.objs\\menuitemsmanager.o" "sdk\\.objs\\messagelog.o" "sdk\\.objs\\messagemanager.o" "sdk\\.objs\\msvc7loader.o" "sdk\\.objs\\msvcloader.o" "sdk\\.objs\\newfromtemplatedlg.o" "sdk\\.objs\\pipedprocess.o" "sdk\\.objs\\pluginmanager.o" "sdk\\.objs\\pluginsconfigurationdlg.o" "sdk\\.objs\\projectbuildtarget.o" "sdk\\.objs\\projectfileoptionsdlg.o" "sdk\\.objs\\projectlayoutloader.o" "sdk\\.objs\\projectloader.o" "sdk\\.objs\\projectmanager.o" "sdk\\.objs\\projectoptionsdlg.o" "sdk\\.objs\\projectsfilemasksdlg.o" "sdk\\.objs\\projecttemplateloader.o" "sdk\\.objs\\replacedlg.o" "sdk\\.objs\\sdk_events.o" "sdk\\.objs\\selecttargetdlg.o" "sdk\\.objs\\simplelistlog.o" "sdk\\.objs\\simpletextlog.o" "sdk\\.objs\\templatemanager.o" "sdk\\.objs\\toolsmanager.o" "sdk\\.objs\\workspaceloader.o"    -L"D:\\C++\\MinGW\\lib" -L"D:\\C++\\local\\lib"  -L"sdk/tinyxml" -o "devel\\codeblocks.dll"   -Wl,--enable-auto-image-base -Wl,--export-all-symbols -Wl,--add-stdcall-alias -ltxml -lwxxrc -lstc  -lwxmsw$(WX_VER)

--- End code ---

followed by the errors in my first post.

Oh, and you didn't answer my question where the dll should be. (I put all the .a files I got from compiling wxWidgets in D:\C++\local\lib, which is in the library path of the linker, so that shouldn't be a problem)

mandrav:

--- Quote from: fvbommel ---I have all of those, except libwxstc.a. I do, however, have libstc.a (which should be the right name looking at the project file and the linker command line).
--- End quote ---

You 're right. The correct name is libstc.a


--- Quote from: fvbommel ---Actually, libwxxrc.a is also where I suspect the problem might be. I have it, but "grep LoadDialog libwxxrc.a" (see second error message) doesn't turn up anything, though it is in the source. Just to be sure, I'm recompiling it right now.
--- End quote ---

It seems the problem is in wxxrc. Sorry I can't help you more with that. Something is probably wrong with your wxxrc build...


--- Quote from: fvbommel ---Oh, and you didn't answer my question where the dll should be.
--- End quote ---

A DLL is loaded at runtime, so it has nothing to do with the linker errors you 're getting. I suggest you put it in windows\system32 to be available system-wide, If you don't want that, you can put it where codeblocks.exe lives, or anywhere else in you PATH.

Yiannis.

Urxae:
Well, some of the errors disappeared after a recompile of libwxxrc.a, so I recompiled the rest of wxWidgets too (my poor RAM), and now it Just Works (TM). :roll:
Now I'll try a compile of Code::Blocks from CVS, which (hopefully) now also works. (When CVS didn't work the first time, I switched to the source tarball, figuring that was rather unlikely to be broken)

Navigation

[0] Message Index

[*] Previous page

Go to full version