Author Topic: The 14 April 2012 build (7932) is out.  (Read 118367 times)

Offline headkase

  • Almost regular
  • **
  • Posts: 159
Re: The 14 April 2012 build (7932) is out.
« Reply #60 on: April 27, 2012, 10:08:31 pm »
I'm new both to C::B and C++ in general.
You are a brave man to use the latest and greatest (buggiest) compiler to compile some random code on the net.
The minimal way you can help us is by providing the full build log. The better is if you can find why the errors are happening,
but I guess this will be a tough job for a c++ beginner.

Ok, I'm pretty sure I've tracked it down.  However, I don't know if the issue exists in my GCC 4.7.0 or if the issue exists in the build scripts of Code::Blocks SVN 7945.

Compiling C::B SVN 7945 with SVN 7945, there is a linker error (big wall of text):

Code
-------------- Build: default in Tools Plus Plugin (compiler: GNU GCC Compiler)---------------

Compiling: ToolsPlus.cpp
In file included from ..\..\..\include/sdk_common.h:43:0,
                 from ..\..\..\include/sdk.h:14,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\ToolsPlus.h:20,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\ToolsPlus.cpp:1:
..\..\..\include/prep.h:32:1: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
Compiling: ShellCtrlBase.cpp
In file included from ..\..\..\include/sdk_common.h:43:0,
                 from ..\..\..\include/sdk.h:14,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\ShellCtrlBase.h:16,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\ShellCtrlBase.cpp:4:
..\..\..\include/prep.h:32:1: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
Compiling: PipedProcessCtrl.cpp
In file included from ..\..\..\include/sdk_common.h:43:0,
                 from ..\..\..\include/sdk.h:14,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\PipedProcessCtrl.h:13,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\PipedProcessCtrl.cpp:4:
..\..\..\include/prep.h:32:1: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
Compiling: CmdConfigDialog.cpp
In file included from ..\..\..\include/sdk_common.h:43:0,
                 from ..\..\..\include/sdk.h:14,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\ToolsPlus.h:20,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\CmdConfigDialog.cpp:18:
..\..\..\include/prep.h:32:1: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
Compiling: shellproperties.cpp
In file included from ..\..\..\include/sdk_common.h:43:0,
                 from ..\..\..\include/sdk.h:14,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\shellproperties.h:13,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\shellproperties.cpp:1:
..\..\..\include/prep.h:32:1: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
Compiling: se_globals.cpp
In file included from ..\..\..\include/sdk_common.h:43:0,
                 from ..\..\..\include/sdk.h:14,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\se_globals.h:10,
                 from E:\Data\CB_Build\CB\trunk\src\plugins\contrib\ToolsPlus\se_globals.cpp:1:
..\..\..\include/prep.h:32:1: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
Linking dynamic library: ..\..\..\devel\share\codeblocks\plugins\ToolsPlus.dll
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla6CreateEP8wxWindowiRK7wxPointRK6wxSizelRK8wxString':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:182: undefined reference to `__imp___ZN9wxControl6CreateEP8wxWindowiRK7wxPointRK6wxSizelRK11wxValidatorRK8wxString'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:184: undefined reference to `__imp___Z17wxSafeShowMessageRK8wxStringS1_'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:195: undefined reference to `__imp___Z17wxSafeShowMessageRK8wxStringS1_'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:197: undefined reference to `__imp___ZN11wxStopWatch5StartEl'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla18MarkerDefineBitmapEiRK8wxBitmap':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:653: undefined reference to `__imp___ZN20wxMemoryOutputStreamC1EPvj'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:654: undefined reference to `__imp___ZNK8wxBitmap14ConvertToImageEv'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:656: undefined reference to `__imp___ZN7wxImage18ConvertAlphaToMaskEh'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:657: undefined reference to `__imp___ZNK7wxImage8SaveFileER14wxOutputStreami'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:658: undefined reference to `__imp___ZNK12wxStreamBase7GetSizeEv'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:660: undefined reference to `__imp___ZNK20wxMemoryOutputStream6CopyToEPvj'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:663: undefined reference to `__imp___ZN20wxMemoryOutputStreamD1Ev'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:663: undefined reference to `__imp___ZN20wxMemoryOutputStreamD1Ev'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla13RegisterImageEiRK8wxBitmap':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1265: undefined reference to `__imp___ZN20wxMemoryOutputStreamC1EPvj'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1266: undefined reference to `__imp___ZNK8wxBitmap14ConvertToImageEv'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1268: undefined reference to `__imp___ZN7wxImage18ConvertAlphaToMaskEh'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1269: undefined reference to `__imp___ZNK7wxImage8SaveFileER14wxOutputStreami'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1270: undefined reference to `__imp___ZNK12wxStreamBase7GetSizeEv'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1272: undefined reference to `__imp___ZNK20wxMemoryOutputStream6CopyToEPvj'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1275: undefined reference to `__imp___ZN20wxMemoryOutputStreamD1Ev'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:1275: undefined reference to `__imp___ZN20wxMemoryOutputStreamD1Ev'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla12StyleSetSpecEiRK8wxString':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4223: undefined reference to `__imp___ZN17wxStringTokenizerC1ERK8wxStringS2_21wxStringTokenizerMode'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4225: undefined reference to `__imp___ZN17wxStringTokenizer12GetNextTokenEv'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4224: undefined reference to `__imp___ZNK17wxStringTokenizer13HasMoreTokensEv'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla12StyleGetFontEi':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4264: undefined reference to `__imp___ZN6wxFont12SetPointSizeEi'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4265: undefined reference to `__imp___ZN6wxFont11SetFaceNameERK8wxString'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4267: undefined reference to `__imp___ZN6wxFont9SetWeightEi'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4269: undefined reference to `__imp___ZN6wxFont9SetWeightEi'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4272: undefined reference to `__imp___ZN6wxFont8SetStyleEi'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4274: undefined reference to `__imp___ZN6wxFont8SetStyleEi'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla8SaveFileERK8wxString':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4468: undefined reference to `__imp__wxConvCurrent'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla8LoadFileERK8wxString':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4488: undefined reference to `__imp___ZNK6wxFile6LengthEv'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4494: undefined reference to `__imp___ZN6wxFile4ReadEPvj'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4497: undefined reference to `__imp__wxConvCurrent'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4497: undefined reference to `__imp___ZN8wxStringC1EPKcRK8wxMBConvj'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla7OnPaintER12wxPaintEvent':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4671: undefined reference to `__imp___ZN9wxPaintDCC1EP8wxWindow'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4674: undefined reference to `__imp___ZN9wxPaintDCD1Ev'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4674: undefined reference to `__imp___ZN9wxPaintDCD1Ev'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla8OnScrollER13wxScrollEvent':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4687: undefined reference to `__imp___ZN11wxScrollBar12ms_classInfoE'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla15OnMouseLeftDownER12wxMouseEvent':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4708: undefined reference to `__imp___ZNK11wxStopWatch4TimeEv'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla13OnMouseLeftUpER12wxMouseEvent':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4721: undefined reference to `__imp___ZNK11wxStopWatch4TimeEv'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN11wxScintilla12OnMouseWheelER12wxMouseEvent':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4761: undefined reference to `__imp___ZNK11wxStopWatch4TimeEv'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:4767: undefined reference to `__imp___ZNK11wxStopWatch4TimeEv'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `_ZN16wxScintillaEventC2Eii':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:5093: undefined reference to `__imp___ZN14wxCommandEventC2Eii'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `__static_initialization_and_destruction_0':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:80: undefined reference to `__imp___Z14wxNewEventTypev'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:81: undefined reference to `__imp___Z14wxNewEventTypev'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:82: undefined reference to `__imp___Z14wxNewEventTypev'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:83: undefined reference to `__imp___Z14wxNewEventTypev'
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:84: undefined reference to `__imp___Z14wxNewEventTypev'
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o):E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:85: more undefined references to `__imp___Z14wxNewEventTypev' follow
..\..\..\devel/libwxscintilla_cb.a(wxscintilla.o): In function `__static_initialization_and_destruction_0':
E:/Data/CB_Build/CB/trunk/src/sdk/wxscintilla/src/wxscintilla.cpp:121: undefined reference to `__imp___ZN8wxWindow13sm_eventTableE'
Process terminated with status 1 (0 minutes, 18 seconds)
50 errors, 6 warnings (0 minutes, 18 seconds)

Anyway, while building the parent C::B project (CodeBlocks.cbp) with SVN 7945 there is this error message:

Unable to resolve 1 external dependencies:
\devel\libcodeblocks.a

This file is NOT in devel, but it IS in the parent folder, src.

Building the entire project using SVN 7932: the "libcodeblocks.a" file DOES get correctly placed into \devel AND then entire project, CodeBlocks.cbp AND ContribPlugins.workspace ALL compile successfully.

It is only when then building SVN 7945 again using SVN 7945 that libcodeblocks.a doesn't end up in the correct location and later on this causes a linking error.

So, there are two possibilities: either the GCC 4.7.0 I'm using has a regression for handling files, OR the SVN 7945 build scripts/file handling code has a regression.  I don't know which.  However, I'm leaning towards the SVN 7945 being the regression as using SVN 7932 to build the complete project I am still using my system's GCC 4.7.0 as well.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 14 April 2012 build (7932) is out.
« Reply #61 on: April 27, 2012, 10:12:14 pm »
headkase:
Have you built c::b before using compiler known to work?
Gcc 4.5 for example?
Also have you build wxWidgets with the same compiler you're trying to build c::b.
This is pretty important!

btw: What is your final goal? To contribute to C::B? Write a plugin? To test yourself if you can build c::b?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline headkase

  • Almost regular
  • **
  • Posts: 159
Re: The 14 April 2012 build (7932) is out.
« Reply #62 on: April 27, 2012, 10:26:17 pm »
I've only tried to build C::B using GCC 4.7.0 as I linked before.  I built wx using the exact same compiler.  wx I had to use the

Code
CXXFLAGS ?= -fno-keep-inline-dllexport

flag in config.gcc as the linker ran out of memory without it.  Other than that wx was compiled exactly as given on the wiki.

So, no known "good" compile with another compiler.

If nothing obvious stands out to you in SVN 7945 however then I am willing to go get another compiler and repeat the entire process, wx and up.  However, if you would like me to do this I would likely not have results until Monday - I'm working over the weekend so it's just a matter of free time.

Edit: My eventual goal?  To have the most current version of C::B at all times!  Mwhahahahahaha. ;)

Edit2: If you would like me to try another compiler, please link to it!
« Last Edit: April 27, 2012, 10:40:57 pm by headkase »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 14 April 2012 build (7932) is out.
« Reply #63 on: April 27, 2012, 10:58:31 pm »
Then why don't you use the nightlies? If you feel there is no new nightly for a long time you can bug us :)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline headkase

  • Almost regular
  • **
  • Posts: 159
Re: The 14 April 2012 build (7932) is out.
« Reply #64 on: April 27, 2012, 11:05:05 pm »
Then why don't you use the nightlies? If you feel there is no new nightly for a long time you can bug us :)

;)  I'm hoping there will we a 12.05 release soon.. :P  Most Linux distributions only package the latest stable releases, just sayin', .. :)

Anyway, I'm doing it really because I can.  Please link to me another compiler if you like and I will definitely try it.  If there is a regression in this GCC 4.7.0 I'm using I'd like to know sooner rather than banging my head against a wall later saying "Why you no work!!!!?" :)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: The 14 April 2012 build (7932) is out.
« Reply #65 on: April 27, 2012, 11:16:16 pm »
Search for GCC TDM.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline headkase

  • Almost regular
  • **
  • Posts: 159
Re: The 14 April 2012 build (7932) is out.
« Reply #66 on: April 27, 2012, 11:26:27 pm »
Search for GCC TDM.

Ok, will do: won't be until Monday though until I post results.

Offline headkase

  • Almost regular
  • **
  • Posts: 159
Re: The 14 April 2012 build (7932) is out.
« Reply #67 on: April 28, 2012, 02:02:09 am »
Search for GCC TDM.

Ok, I uninstalled GCC 4.7.0 and installed TDM GCC 4.6.1 32-bit.

Built wxWidgets 2.8.12 Unicode from scratch, as directed exactly by the wiki, with TDM GCC.

Renamed AppData/Roaming/CodeBlocks to give default environment.
Launched Code::Blocks SVN 7932.  TDM GCC detected.

Built Code::Blocks SVN 7945 using Code::Blocks SVN 7932.  Build successful, both project and plugins.

Renamed AppData/Roaming/CodeBlocks to give default environment.
Launched Code::Blocks SVN 7945.  TDM GCC detected.

Initiated Build of CodeBlocks.cbp using Code::Blocks SVN 7945 as built in previous step.  All targets returned this error:

"WARNING: Target 'Code::Blocks wx2.8.x - XP look & feel': Unable to resolve 1 external dependencies:
devel\libcodeblocks.a"

(Last targets error message given as the example)

This is same error as when building with GCC 4.7.0.

For both builds started with a completely fresh source tree.  Deleted the previous builds source tree and restored an untouched SVN 7945 source tree for each build attempt.

"libcodeblocks.a" exists in parent folder of devel (src), not devel.  Link errors ensue.  Ball's in your court, what would you like to do next?

Edit: and "libcodeblocks.a" does not exist in src until the build of CodeBlocks.cbp is initiated.
Edit2: didn't mention it but the "NassiShneiderman" plugin requires Boost.  Boost 1.49 used and no issues building that plugin with SVN 7932.
« Last Edit: April 28, 2012, 03:13:27 am by headkase »

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: The 14 April 2012 build (7932) is out.
« Reply #68 on: April 28, 2012, 03:13:46 am »
@headkase:

Did you delete the pre-compiled header(PCH) files (*.gch)?

Any time you have a Code::Blocks build issues that the normal things do not fix I try that.
Note: Deleting the Code::Blocks source tree should have deleted the PCH files.

Are you positive your are building the CB "all" target?

Did you remember to run update.bat after building the Code::Blocks project?

Tim S.
« Last Edit: April 28, 2012, 03:22:54 am by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline headkase

  • Almost regular
  • **
  • Posts: 159
Re: The 14 April 2012 build (7932) is out.
« Reply #69 on: April 28, 2012, 03:22:17 am »
Did you delete the pre-compiled header(PCH) files (*.gch)?

Any time you have a Code::Blocks build issues that the normal things do not fix I try that.
Note: Deleting the Code::Blocks source tree should have deleted the PCH files.

Are you positive your are building the CB "all" target?

Tim S.


I would assume so.  I kept the build that successfully built and found some .gch files here: E:\Data\Development\CB.old\trunk\src\.objs\include
The new build, with SVN 7945, was done in a different CB folder.  Both CB folders came from an archive which was the svn checkout *untouched*.  So, if any of those files exist within "trunk" of the svn checkout then yes, they were nuked as the trunk was not reused between build attempts.  As stated I also started with a default environment with each build of C::B.  Besides the trunk and the user-specific configuration files - which are both accounted for - then where else would the precompiled headers exist?

Yes, I built the all target.  I built both attempts exactly the same.

Edit: I can't include the complete build log as it makes this post exceed 20000 characters.  However, it is all basically "libcodeblocks.a" not found in \devel

« Last Edit: April 28, 2012, 03:39:44 am by headkase »

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: The 14 April 2012 build (7932) is out.
« Reply #70 on: April 28, 2012, 03:42:06 am »
"libcodeblocks.a" exists in parent folder of devel (src), not devel.  Link errors ensue.  

I can confirm that libcodeblocks.a and libwxpropgrid.a are place in the source folder when compiling with self compiled CB 7945
Note: The codeblocks.dll and libwxscintilla_cb.a was placed in devel folder.

Tim S.
« Last Edit: April 28, 2012, 03:44:07 am by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: The 14 April 2012 build (7932) is out.
« Reply #71 on: April 28, 2012, 03:45:27 am »
"libcodeblocks.a" exists in parent folder of devel (src), not devel.  Link errors ensue.  

I can confirm that libcodeblocks.a and libwxpropgrid.a are place in the source folder when compiling with self compiled CB 7945
Note: The codeblocks.dll was placed in devel folder.

Tim S.
So, it looks like there are something wrong between rev7945 and rev7932. Especially, rev7945 generate the dll/a file to a wrong place.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: The 14 April 2012 build (7932) is out.
« Reply #72 on: April 28, 2012, 03:52:04 am »
Maybe, this is the cause of this regression:
Quote
Commit:3db06060fddd327c867bc404ab3ff2a4e99a2805

* * save/load dynamic link library lib name and def file into project file -> *backward compatible* change in project file

git-svn-id: svn://svn.berlios.de/codeblocks/trunk@7940 98b59c6a-2706-0410-b7d6-d2fa1a1880c9


Code
 src/sdk/compiletargetbase.cpp         |    6 +++---
 src/sdk/projectloader.cpp             |   23 +++++++++++++++++++++--
 src/wxsmith/debuggersettingspanel.wxs |    3 +--
 3 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/src/sdk/compiletargetbase.cpp b/src/sdk/compiletargetbase.cpp
index 9a47037..2c099d9 100644
--- a/src/sdk/compiletargetbase.cpp
+++ b/src/sdk/compiletargetbase.cpp
@@ -61,7 +61,7 @@ void CompileTargetBase::GetTargetFilenameGenerationPolicy(TargetFilenameGenerati
 {
     prefixOut = m_PrefixGenerationPolicy;
     extensionOut = m_ExtensionGenerationPolicy;
-} // end of GetTargetFilenameGenerationPolicy
+}
 
 const wxString& CompileTargetBase::GetFilename() const
 {
@@ -100,7 +100,7 @@ void CompileTargetBase::SetImportLibraryFilename(const wxString& filename)
 {
     if (filename.IsEmpty())
     {
-        m_ImportLibraryFilename = _T("$(TARGET_NAME)");
+        m_ImportLibraryFilename = _T("lib$(TARGET_OUTPUT_BASENAME).a");
         SetModified(true);
         return;
     }
@@ -114,7 +114,7 @@ void CompileTargetBase::SetDefinitionFileFilename(const wxString& filename)
 {
     if (filename.IsEmpty())
     {
-        m_DefinitionFileFilename = _T("$(TARGET_NAME)");
+        m_DefinitionFileFilename = _T("$(TARGET_OUTPUT_BASENAME).def");
         SetModified(true);
         return;
     }
diff --git a/src/sdk/projectloader.cpp b/src/sdk/projectloader.cpp
index 5c5207f..491d9ce 100644
--- a/src/sdk/projectloader.cpp
+++ b/src/sdk/projectloader.cpp
@@ -527,6 +527,8 @@ void ProjectLoader::DoBuildTargetOptions(TiXmlElement* parentNode, ProjectBuildT
 
     bool use_console_runner = true;
     wxString output;
+    wxString imp_lib;
+    wxString def_file;
     wxString working_dir;
     wxString obj_output;
     wxString deps_output;
@@ -560,6 +562,12 @@ void ProjectLoader::DoBuildTargetOptions(TiXmlElement* parentNode, ProjectBuildT
         if (node->Attribute("output"))
             output = UnixFilename(cbC2U(node->Attribute("output")));
 
+        if (node->Attribute("imp_lib"))
+            imp_lib = UnixFilename(cbC2U(node->Attribute("imp_lib")));
+
+        if (node->Attribute("def_file"))
+            def_file = UnixFilename(cbC2U(node->Attribute("def_file")));
+
         if (node->Attribute("prefix_auto"))
             prefixPolicy = atoi(node->Attribute("prefix_auto")) == 1 ? tgfpPlatformDefault : tgfpNone;
 
@@ -649,6 +657,8 @@ void ProjectLoader::DoBuildTargetOptions(TiXmlElement* parentNode, ProjectBuildT
         target->SetTargetFilenameGenerationPolicy(prefixPolicy, extensionPolicy);
         target->SetTargetType((TargetType)type); // type *must* come before output filename!
         target->SetOutputFilename(output); // because if no filename defined, one will be suggested based on target type...
+        target->SetImportLibraryFilename(imp_lib);
+        target->SetDefinitionFileFilename(def_file);
         target->SetUseConsoleRunner(use_console_runner);
         if (!working_dir.IsEmpty())
             target->SetWorkingDir(working_dir);
@@ -1166,9 +1176,13 @@ bool ProjectLoader::ExportTargetAsProject(const wxString& filename, const wxStri
             if (extensionPolicy == tgfpPlatformDefault)
             {
                 wxFileName fname(outputFileName);
-                fname.ClearExt();
-                outputFileName = fname.GetFullPath();
+                if (fname.HasExt())
+                {
+                    fname.ClearExt();
+                    outputFileName = fname.GetFullPath();
+                }
             }
+
             if (   (prefixPolicy == tgfpPlatformDefault)
                 && (   (!platform::windows && target->GetTargetType() == ttDynamicLib)
                     || (target->GetTargetType() == ttStaticLib) ) )
@@ -1195,6 +1209,11 @@ bool ProjectLoader::ExportTargetAsProject(const wxString& filename, const wxStri
             }
 
             TiXmlElement* outnode = AddElement(tgtnode, "Option", "output", outputFileName);
+            if (target->GetTargetType() == ttDynamicLib)
+            {
+                outnode->SetAttribute("imp_lib",  cbU2C(target->GetDynamicLibImportFilename()));
+                outnode->SetAttribute("def_file", cbU2C(target->GetDynamicLibDefFilename()));
+            }
             outnode->SetAttribute("prefix_auto", prefixPolicy == tgfpPlatformDefault ? "1" : "0");
             outnode->SetAttribute("extension_auto", extensionPolicy == tgfpPlatformDefault ? "1" : "0");
 
diff --git a/src/wxsmith/debuggersettingspanel.wxs b/src/wxsmith/debuggersettingspanel.wxs
index 1ca329f..0e5a02d 100644
--- a/src/wxsmith/debuggersettingspanel.wxs
+++ b/src/wxsmith/debuggersettingspanel.wxs
@@ -41,11 +41,10 @@
  <label>Info</label>
  <object class="sizeritem">
  <object class="wxTextCtrl" name="ID_TEXTCTRL_INFO" variable="textInfo" member="no">
- <value>Text</value>
  <size>186,243</size>
  <enabled>0</enabled>
  </object>
- <flag>wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM</flag>
+ <flag>wxEXPAND|wxALIGN_LEFT|wxALIGN_BOTTOM</flag>
  <border>5</border>
  <option>1</option>
  </object>

If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline headkase

  • Almost regular
  • **
  • Posts: 159
Re: The 14 April 2012 build (7932) is out.
« Reply #73 on: April 28, 2012, 03:55:56 am »
Whew.  It's nice to be a "correct" n00b instead of a "wrong" n00b.  I'll let you wizards duke it out now and try to build again when a new SVN is out! :D

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: The 14 April 2012 build (7932) is out.
« Reply #74 on: April 28, 2012, 04:11:46 am »
Here
Code

             if (extensionPolicy == tgfpPlatformDefault)
             {
                 wxFileName fname(outputFileName);
-                fname.ClearExt();
-                outputFileName = fname.GetFullPath();
+                if (fname.HasExt())
+                {
+                    fname.ClearExt();
+                    outputFileName = fname.GetFullPath();
+                }
             }
Do we need a "else" like:
Code
            if (extensionPolicy == tgfpPlatformDefault)
            {
                wxFileName fname(outputFileName);
                if (fname.HasExt())
                {
                    fname.ClearExt();
                    outputFileName = fname.GetFullPath();
                }
                else
                    ......
            }
because the old logic is:
Code
            if (extensionPolicy == tgfpPlatformDefault)
            {
                wxFileName fname(outputFileName);
                fname.ClearExt();
                outputFileName = fname.GetFullPath();
            }
??
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.