Hi,

for others who want to follow progress on this bug, please see http://bugs.mitk.org/show_bug.cgi?id=9382

Thanks,
Sascha

On 09/12/2011 09:07 PM, Klaus Drechsler wrote:
Hi,

found another bug.

Steps to reproduce:

1. Compile release superbuild
2. Compile  debug superbuild

You will get a lot of compiler errors like:
-> Error4error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in ctkCallback.objJ:\MITK_MSVC2010_X64\MITK_GIT\5>2>Log4Qt.lib(logger.obj)

The problem is that visual studio tries to link a debug version of ctkcore with a release version of log4qt.

In the cmake config ( J:/MITK_MSVC2010_X64/MITK_GIT/CTK-build/CTK-build ) one can find the following entry:

LOG4Qt_LIBRARIES = J:/MITK_MSVC2010_X64/MITK_GIT/CTK-build/Log4Qt-build/bin/Release/Log4Qt.lib

Note the "Release" directory in the pathname!

I think it is because of Log4QtConfig.camke.in. There, "FIND_LIBRARY" is used as follows:

FIND_LIBRARY(Log4Qt_LIBRARIES Log4Qt
  PATHS
    "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/"
    "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/Release"
    "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@/Debug"
  NO_DEFAULT_PATH
  )


I guess that after the library is found in .../Release the path is returned and used. Thus, if a release version was already build, an error occours if one tries to compile a debug version.

Annoying / time-consuming workaround:
Manually change "LOG4Qt_LIBRARIES" in the cmake config and manually compile the hierarchy upwards.

Best wishes,
 Klaus





------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
http://p.sf.net/sfu/rim-devcon-copy2
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to