DLL built using the Intel C++ Compiler

can this be ressurected?
i see BIG need in this :)

and one more - is there someone who can make GCC makefile? i think mingw gcc can make good compitible dll with nice optimizations.
 
I will not be using a different compiler. The exe is far too touchy with specifics. (And I'm not brimming with the money and knowledge to easily implement another approach even if we can. - though reviewing this thread the benefits do seem impressive.)
 
but it worked with intel compiler, so why you think it wont work with gcc &
 
I never had any problems with the dll if it was built using the intel compiler it was just faster.

But using gcc is another story it would need someone who knows mingw and gcc to setup a makefile and change incompatible code. After this is done and the dll works, i think we have to use another debugger because Visual Studio can't debug GDB.
 
I seen tools to make debug data compitible.
if someone describe me what needed to be done in what order i can try to make makefile
 
but it worked with intel compiler, so why you think it wont work with gcc &

The intel compiler can be used as a direct replacement of the msvc compiler. This makes it very easy to build the dll using that compiler.

Switching to gcc or maybe clang is not that easy.
 
after fixing boost sources (off. patches) i got bunch of errors, like :

FFreeListArray.h:71:20: error: 'FLA_FREE_LIST_INDEX' is not a member of 'FFreeList'
m_iFreeListHead = FFreeList::FLA_FREE_LIST_INDEX;
^
FFreeListArray.h:72:2: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount = 0;
^
FFreeListArray.h:73:2: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex = FFreeList::INVALID_INDEX;
^
FFreeListArray.h:74:2: error: 'm_iNumSlots' was not declared in this scope
m_iNumSlots = 0;
^

give me info how to fix it - so i can copy-paste fix for all of them.
 
after fixing boost sources (off. patches) i got bunch of errors, like :

FFreeListArray.h:71:20: error: 'FLA_FREE_LIST_INDEX' is not a member of 'FFreeList'
m_iFreeListHead = FFreeList::FLA_FREE_LIST_INDEX;

Change the marked line
Code:
template <class T>
FFreeListArray<T>::FFreeListArray()
{
	[B]m_iFreeListHead = FFreeList::FREE_LIST_INDEX;[/B]
	m_iFreeListCount = 0;
	m_iLastIndex = FFreeList::INVALID_INDEX;
	m_iNumSlots = 0;

	m_pArray = NULL;
}
 
done , but here many other.
alberts2, maybe you can give me some other type of communication with you so we can sort these errors out?
(ICQ\Gtalk\jabber\e-mail) Or i can write you PM. I`m sure it will not be waste of time!
 
here errors
Spoiler :

In file included from CvStructs.h:15:0,
from CvGameCoreDLL.h:273,
from BetterBTSAI.cpp:1:
CvGlobals.h:3725:0: warning: "NUM_GAMEOPTION_TYPES" redefined [enabled by default]
#define NUM_GAMEOPTION_TYPES (GC.getNumGameOptions())
^
In file included from CvGameCoreDLL.h:272:0,
from BetterBTSAI.cpp:1:
CvEnums.h:974:0: note: this is the location of the previous definition
#define NUM_GAMEOPTION_TYPES GC.getNumGameOptionInfos()
^
In file included from CvTaggedSaveFormatWrapper.h:3:0,
from FFreeListTrashArray.h:24,
from CvGameCoreDLL.h:268,
from BetterBTSAI.cpp:1:
CvString.h:31:18: error: 'FStringA' does not name a type
CvWString(const FStringA& s) { Copy(s.GetCString()); }
^
CvString.h:32:18: error: 'FStringW' does not name a type
CvWString(const FStringW& s) { assign(s.GetCString()); }
^
CvString.h:32:2: error: 'CvWString::CvWString(const int&)' cannot be overloaded
CvWString(const FStringW& s) { assign(s.GetCString()); }
^
CvString.h:31:2: error: with 'CvWString::CvWString(const int&)'
CvWString(const FStringA& s) { Copy(s.GetCString()); }
^
CvString.h:67:36: error: 'FStringW' does not name a type
const CvWString& operator=( const FStringW& s) { assign(s.GetCString()); return *this; }
^
CvString.h:68:36: error: 'FStringA' does not name a type
const CvWString& operator=( const FStringA& w) { Copy(w.GetCString()); return *this; }
^
CvString.h:68:19: error: 'const CvWString& CvWString::operator=(const int&)' cannot be overloaded
const CvWString& operator=( const FStringA& w) { Copy(w.GetCString()); return *this; }
^
CvString.h:67:19: error: with 'const CvWString& CvWString::operator=(const int&)'
const CvWString& operator=( const FStringW& s) { assign(s.GetCString()); return *this; }
^
CvString.h: In constructor 'CvWString::CvWString(const int&)':
CvString.h:31:40: error: request for member 'GetCString' in 's', which is of non-class type 'const int'
CvWString(const FStringA& s) { Copy(s.GetCString()); }
^
CvString.h: In constructor 'CvWString::CvWString(const int&)':
CvString.h:32:42: error: request for member 'GetCString' in 's', which is of non-class type 'const int'
CvWString(const FStringW& s) { assign(s.GetCString()); }
^
CvString.h: In member function 'const CvWString& CvWString::operator=(const int&)':
CvString.h:67:60: error: request for member 'GetCString' in 's', which is of non-class type 'const int'
const CvWString& operator=( const FStringW& s) { assign(s.GetCString()); return *this; }
^
CvString.h: In member function 'const CvWString& CvWString::operator=(const int&)':
CvString.h:68:58: error: request for member 'GetCString' in 'w', which is of non-class type 'const int'
const CvWString& operator=( const FStringA& w) { Copy(w.GetCString()); return *this; }
^
In file included from FFreeListTrashArray.h:24:0,
from CvGameCoreDLL.h:268,
from BetterBTSAI.cpp:1:
CvTaggedSaveFormatWrapper.h: At global scope:
CvTaggedSaveFormatWrapper.h:274:2: error: 'stdext' does not name a type
stdext::hash_map<std::string,DictionaryEntry> m_reverseIdDictionary;
^
In file included from CvGameCoreDLL.h:268:0,
from BetterBTSAI.cpp:1:
FFreeListTrashArray.h: In member function 'int FFreeListTrashArray<T>::getNumSlots() const':
FFreeListTrashArray.h:54:10: error: 'm_iNumSlots' was not declared in this scope
return m_iNumSlots;
^
FFreeListTrashArray.h: In member function 'int FFreeListTrashArray<T>::getLastIndex() const':
FFreeListTrashArray.h:59:10: error: 'm_iLastIndex' was not declared in this scope
return m_iLastIndex;
^
FFreeListTrashArray.h: In member function 'void FFreeListTrashArray<T>::setLastIndex(int)':
FFreeListTrashArray.h:63:3: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex = iNewValue;
^

FFreeListTrashArray.h: In member function 'int FFreeListTrashArray<T>::getFreeListHead() const':
FFreeListTrashArray.h:68:10: error: 'm_iFreeListHead' was not declared in this scope
return m_iFreeListHead;
^
FFreeListTrashArray.h: In member function 'void FFreeListTrashArray<T>::setFreeListHead(int)':
FFreeListTrashArray.h:72:3: error: 'm_iFreeListHead' was not declared in this scope
m_iFreeListHead = iNewValue;
^
FFreeListTrashArray.h: In member function 'int FFreeListTrashArray<T>::getFreeListCount() const':
FFreeListTrashArray.h:77:10: error: 'm_iFreeListCount' was not declared in this scope
return m_iFreeListCount;
^
FFreeListTrashArray.h: In member function 'void FFreeListTrashArray<T>::setFreeListCount(int)':
FFreeListTrashArray.h:81:3: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount = iNewValue;
^
In file included from include/boost/assert.hpp:35:0,
from include/boost/shared_ptr.hpp:23,
from include/boost/python/converter/shared_ptr_to_python.hpp:10,
from include/boost/python/converter/arg_to_python.hpp:15,
from include/boost/python/call.hpp:15,
from include/boost/python/object_core.hpp:12,
from include/boost/python/object.hpp:9,
from include/boost/python/list.hpp:10,
from CvGameCoreDLL.h:254,
from BetterBTSAI.cpp:1:
FFreeListTrashArray.h: In member function 'virtual void FFreeListTrashArray<T>::init(int)':
FFreeListTrashArray.h:180:10: error: 'm_iNumSlots' was not declared in this scope
assert((m_iNumSlots <= FLTA_MAX_BUCKETS) && "FFreeListTrashArray<T>::init() size too large");
^
In file included from CvGameCoreDLL.h:268:0,
from BetterBTSAI.cpp:1:
FFreeListTrashArray.h:185:2: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex = FFreeList::INVALID_INDEX;
^
FFreeListTrashArray.h:186:2: error: 'm_iFreeListHead' was not declared in this scope
m_iFreeListHead = FFreeList::INVALID_INDEX;
^
FFreeListTrashArray.h:187:2: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount = 0;
^
FFreeListTrashArray.h: In member function 'T* FFreeListTrashArray<T>::add()':
FFreeListTrashArray.h:229:7: error: 'm_iLastIndex' was not declared in this scope
if ((m_iLastIndex == m_iNumSlots - 1) &&
^
FFreeListTrashArray.h:229:23: error: 'm_iNumSlots' was not declared in this scope
if ((m_iLastIndex == m_iNumSlots - 1) &&
^
FFreeListTrashArray.h:230:4: error: 'm_iFreeListCount' was not declared in this scope
(m_iFreeListCount == 0))
^
FFreeListTrashArray.h:241:6: error: 'm_iFreeListCount' was not declared in this scope
if (m_iFreeListCount > 0)
^
FFreeListTrashArray.h:246:12: error: 'm_iFreeListHead' was not declared in this scope
iIndex = m_iFreeListHead;
^
FFreeListTrashArray.h:277:3: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex++;
^
FFreeListTrashArray.h: In member function 'virtual T* FFreeListTrashArray<T>::getAt(int) const':
FFreeListTrashArray.h:318:17: error: 'm_iLastIndex' was not declared in this scope
if ((iIndex <= m_iLastIndex) &&
^
FFreeListTrashArray.h: In member function 'bool FFreeListTrashArray<T>::remove(T*)':
FFreeListTrashArray.h:345:22: error: 'm_iLastIndex' was not declared in this scope
for (iI = 0; iI <= m_iLastIndex; iI++)
^
FFreeListTrashArray.h: In member function 'bool FFreeListTrashArray<T>::removeAt(int)':
FFreeListTrashArray.h:377:17: error: 'm_iLastIndex' was not declared in this scope
if ((iIndex <= m_iLastIndex) &&
^
FFreeListTrashArray.h:385:38: error: 'm_iFreeListHead' was not declared in this scope
m_pArray[iIndex].iNextFreeIndex = m_iFreeListHead;
^
FFreeListTrashArray.h:387:4: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount++;
^

FFreeListTrashArray.h: In member function 'virtual void FFreeListTrashArray<T>::removeAll()':
FFreeListTrashArray.h:415:2: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex = FFreeList::INVALID_INDEX;
^
FFreeListTrashArray.h:416:2: error: 'm_iFreeListHead' was not declared in this scope
m_iFreeListHead = FFreeList::INVALID_INDEX;
^
FFreeListTrashArray.h:417:2: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount = 0;
^
FFreeListTrashArray.h:419:20: error: 'm_iNumSlots' was not declared in this scope
for (iI = 0; iI < m_iNumSlots; iI++)
^
In file included from include/boost/assert.hpp:35:0,
from include/boost/shared_ptr.hpp:23,
from include/boost/python/converter/shared_ptr_to_python.hpp:10,
from include/boost/python/converter/arg_to_python.hpp:15,
from include/boost/python/call.hpp:15,
from include/boost/python/object_core.hpp:12,
from include/boost/python/object.hpp:9,
from include/boost/python/list.hpp:10,
from CvGameCoreDLL.h:254,
from BetterBTSAI.cpp:1:
FFreeListTrashArray.h: In member function 'void FFreeListTrashArray<T>::load(T*)':
FFreeListTrashArray.h:445:19: error: 'm_iLastIndex' was not declared in this scope
assert(iIndex <= m_iLastIndex);
^
In file included from CvGameCoreDLL.h:268:0,
from BetterBTSAI.cpp:1:
FFreeListTrashArray.h: In member function 'virtual void FFreeListTrashArray<T>::growArray()':
FFreeListTrashArray.h:467:17: error: 'm_iNumSlots' was not declared in this scope
iOldNumSlots = m_iNumSlots;
^
In file included from FFreeListTrashArray.h:24:0,
from CvGameCoreDLL.h:268,
from BetterBTSAI.cpp:1:
FFreeListTrashArray.h: In member function 'void FFreeListTrashArray<T>::Write(FDataStreamBase*)':
FFreeListTrashArray.h:557:68: warning: there are no arguments to 'getCount' that depend on a template parameter, so a declaration of 'getCount' must be available [-fpermissive]
WRAPPER_WRITE_DECORATED(wrapper, "FFreeListTrashArray", getCount(), "count" );
^
CvTaggedSaveFormatWrapper.h:290:173: note: in definition of macro 'WRAPPER_WRITE_DECORATED'
#define WRAPPER_WRITE_DECORATED(wrapper,className,name,saveName) { static int _idHint; static int _saveSeq = -1; (wrapper).Write(className "::" saveName, _idHint, _saveSeq,name); }
^
In file included from CvGameCoreDLL.h:268:0,
from BetterBTSAI.cpp:1:
FFreeListTrashArray.h:559:37: warning: there are no arguments to 'getIndexAfterLast' that depend on a template parameter, so a declaration of 'getIndexAfterLast' must be available [-fpermissive]
for ( i = 0; i < getIndexAfterLast(); i++ )
^
In file included from CvGameCoreDLL.h:269:0,
from BetterBTSAI.cpp:1:
FFreeListArray.h: In constructor 'FFreeListArray<T>::FFreeListArray()':
FFreeListArray.h:71:5: error: 'm_iFreeListHead' was not declared in this scope
m_iFreeListHead = FFreeList::FREE_LIST_INDEX;
^
FFreeListArray.h:72:2: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount = 0;
^
FFreeListArray.h:73:2: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex = FFreeList::INVALID_INDEX;
^
FFreeListArray.h:74:2: error: 'm_iNumSlots' was not declared in this scope
m_iNumSlots = 0;
^
FFreeListArray.h: In member function 'virtual void FFreeListArray<T>::init(int)':
FFreeListArray.h:94:2: error: 'm_iFreeListHead' was not declared in this scope
m_iFreeListHead = FLA_FREE_LIST_INDEX;
^
FFreeListArray.h:94:20: error: 'FLA_FREE_LIST_INDEX' was not declared in this scope
m_iFreeListHead = FLA_FREE_LIST_INDEX;
^
FFreeListArray.h:95:2: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount = 0;
^
FFreeListArray.h:96:2: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex = FFreeList::INVALID_INDEX;
^
FFreeListArray.h:97:2: error: 'm_iNumSlots' was not declared in this scope
m_iNumSlots = iNumSlots;
^

FFreeListArray.h: In member function 'void FFreeListArray<T>::insert(T)':
FFreeListArray.h:133:7: error: 'm_iLastIndex' was not declared in this scope
if ((m_iLastIndex == m_iNumSlots - 1) &&
^
FFreeListArray.h:133:23: error: 'm_iNumSlots' was not declared in this scope
if ((m_iLastIndex == m_iNumSlots - 1) &&
^
FFreeListArray.h:134:4: error: 'm_iFreeListCount' was not declared in this scope
(m_iFreeListCount == 0))
^
FFreeListArray.h:139:6: error: 'm_iFreeListCount' was not declared in this scope
if (m_iFreeListCount > 0)
^
FFreeListArray.h:141:12: error: 'm_iFreeListHead' was not declared in this scope
iIndex = m_iFreeListHead;
^
FFreeListArray.h:147:3: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex++;
^
FFreeListArray.h: In member function 'void FFreeListArray<T>::insertAt(T, int)':
FFreeListArray.h:166:16: error: 'm_iLastIndex' was not declared in this scope
if (iIndex <= m_iLastIndex)
^
FFreeListArray.h:175:18: error: 'm_iNumSlots' was not declared in this scope
while (iIndex > m_iNumSlots - 1)
^
FFreeListArray.h:180:15: error: 'm_iLastIndex' was not declared in this scope
if (iIndex > m_iLastIndex)
^
FFreeListArray.h:185:44: error: 'm_iFreeListHead' was not declared in this scope
m_pArray[m_iLastIndex].iNextFreeIndex = m_iFreeListHead;
^
FFreeListArray.h:187:4: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount++;
^
FFreeListArray.h:195:6: error: 'm_iFreeListHead' was not declared in this scope
if (m_iFreeListHead != FLA_FREE_LIST_INDEX)
^
FFreeListArray.h:195:25: error: 'FLA_FREE_LIST_INDEX' was not declared in this scope
if (m_iFreeListHead != FLA_FREE_LIST_INDEX)
^
FFreeListArray.h:200:4: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount--;
^
FFreeListArray.h:211:6: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount--;
^
FFreeListArray.h: In member function 'void FFreeListArray<T>::insertFirst(T)':
FFreeListArray.h:233:7: error: 'm_iLastIndex' was not declared in this scope
if ((m_iLastIndex == m_iNumSlots - 1) &&
^
FFreeListArray.h:233:23: error: 'm_iNumSlots' was not declared in this scope
if ((m_iLastIndex == m_iNumSlots - 1) &&
^
FFreeListArray.h:234:4: error: 'm_iFreeListCount' was not declared in this scope
(m_iFreeListCount == 0))
^
 
Here are a few things.

1. The dll must be linked against the msvcr71.dll.
2. The stdext::HashMap in not included in mingw and must be replaced.
3. You must set the following preprocessor macros
Code:
C2C_BUILD=1
QC_MASTERY_VICTORY=1
_MOD_FRACTRADE=1
_MOD_GOVWORKERS=1
_MOD_GWARM=1
_MOD_SENTRY=1
_MOD_SHAM_SPOILER=1
_USRDLL="1
4. GCC doesn't like some msvc compatible code and you have to rewrite it in a GCC compatible way.


What version of mingw are you using?
 
i`m worried about order of proccessed cpp files, at present i have this order:

Spoiler :
c2c__vs_2008__dll_CXX_SRCS= BetterBTSAI.cpp \
BoolExpr.cpp \
CvAllocator.cpp \
CvArea.cpp \
CvArtFileMgr.cpp \
CvBugOptions.cpp \
CvBuildLists.cpp \
CvBuildingFilters.cpp \
CvBuildingGrouping.cpp \
CvBuildingInfo.cpp \
CvBuildingList.cpp \
CvBuildingSort.cpp \
CvCity.cpp \
CvCityAI.cpp \
CvContractBroker.cpp \
CvDLLButtonPopup.cpp \
CvDLLEntity.cpp \
CvDLLPython.cpp \
CvDLLWidgetData.cpp \
CvDate.cpp \
CvDeal.cpp \
CvDiploParameters.cpp \
CvDllPythonEvents.cpp \
CvDllTranslator.cpp \
CvEventReporter.cpp \
CvFractal.cpp \
CvGame.cpp \
CvGameAI.cpp \
CvGameCoreDLL.cpp \
CvGameCoreUtils.cpp \
CvGameInterface.cpp \
CvGameObject.cpp \
CvGameTextMgr.cpp \
CvGlobals.cpp \
CvHallOfFameInfo.cpp \
CvInfoWater.cpp \
CvInfos.cpp \
CvInitCore.cpp \
CvMap.cpp \
CvMapExternal.cpp \
CvMapGenerator.cpp \
CvMapInterfaceBase.cpp \
CvMessageControl.cpp \
CvMessageData.cpp \
CvOutcome.cpp \
CvOutcomeList.cpp \
CvOutcomeMission.cpp \
CvPathGenerator.cpp \
CvPipeline.cpp \
CvPlayer.cpp \
CvPlayerAI.cpp \
CvPlot.cpp \
CvPlotGroup.cpp \
CvPopupInfo.cpp \
CvPopupReturn.cpp \
CvProperties.cpp \
CvPropertyInteraction.cpp \
CvPropertyManipulators.cpp \
CvPropertyPropagator.cpp \
CvPropertySolver.cpp \
CvPropertySource.cpp \
CvRandom.cpp \
CvReachablePlotSet.cpp \
CvReplayInfo.cpp \
CvReplayMessage.cpp \
CvSelectionGroup.cpp \
CvSelectionGroupAI.cpp \
CvStatistics.cpp \
CvStructs.cpp \
CvTaggedSaveFormatWrapper.cpp \
CvTalkingHeadMessage.cpp \
CvTeam.cpp \
CvTeamAI.cpp \
CvTextScreens.cpp \
CvTradeNetwork.cpp \
CvUnit.cpp \
CvUnitAI.cpp \
CvUnitFilters.cpp \
CvUnitGrouping.cpp \
CvUnitInfo.cpp \
CvUnitList.cpp \
CvUnitSort.cpp \
CvViewport.cpp \
CvXMLLoadUtility.cpp \
CvXMLLoadUtilityGet.cpp \
CvXMLLoadUtilityInit.cpp \
CvXMLLoadUtilityModTools.cpp \
CvXMLLoadUtilitySet.cpp \
CvXMLLoadUtilitySetMod.cpp \
CyArea.cpp \
CyAreaInterface.cpp \
CyArgsList.cpp \
CyArtFileMgr.cpp \
CyArtFileMgrInterface.cpp \
CyCity.cpp \
CyCityInterface1.cpp \
CyCityInterface2.cpp \
CyDeal.cpp \
CyEnumsInterface.cpp \
CyGame.cpp \
CyGameCoreUtils.cpp \
CyGameCoreUtilsInterface.cpp \
CyGameInterface.cpp \
CyGameTextMgr.cpp \
CyGameTextMgrInterface.cpp \
CyGlobalContext.cpp \
CyGlobalContextInterface1.cpp \
CyGlobalContextInterface2.cpp \
CyGlobalContextInterface3.cpp \
CyGlobalContextInterface4.cpp \
CyHallOfFameInfo.cpp \
CyHallOfFameInterface.cpp \
CyInfoInterface1.cpp \
CyInfoInterface2.cpp \
CyInfoInterface3.cpp \
CyInfoInterface4.cpp \
CyMap.cpp \
CyMapGenerator.cpp \
CyMapGeneratorInterface.cpp \
CyMapInterface.cpp \
CyMessageControl.cpp \
CyMessageControlInterface.cpp \
CyPlayer.cpp \
CyPlayerInterface1.cpp \
CyPlayerInterface2.cpp \
CyPlot.cpp \
CyPlotInterface1.cpp \
CyPropertiesInterface.cpp \
CyRandomInterface.cpp \
CyReplayInfo.cpp \
CySelectionGroup.cpp \
CySelectionGroupInterface.cpp \
CyStructsInterface1.cpp \
CyTeam.cpp \
CyTeamInterface.cpp \
CyUnit.cpp \
CyUnitInterface1.cpp \
FAssert.cpp \
FDataIOStream.cpp \
FDialogTemplate.cpp \
FLinedDataIOStream.cpp \
IntExpr.cpp \
_precompile.cpp \
wchar_utils.cpp
 
I think you can leave out the _precompile.cpp it is only used to precompile some headers.
 
so any help to compile it or all code need recoding?
most errors come from FFreeListArray.h and FFreeListTrashArray.h
 
and one more - is there someone who can make GCC makefile?
I have some experience in that area. GNU makefiles (they aren't called GCC makefiles) are far better than those used with nmake. Writing for nmake turned out to be frustrating because I ran into so many problems that I wouldn't have with GNU make. Also the result I ended up with is inferior to what I would have had if I had used GNU make and GCC.

i`m worried about order of proccessed cpp files
Order of cpp files doesn't matter at all.

_precompiled.cpp allows precompilation of some header files, which should make compilation faster. However your makefile has to be set up to read the precompiled include or it will just be a waste of time to make it. I would ignore it unless it causes problems.

I tried to run the code through cppcheck. Generally speaking there are plenty of minor improvement recommendations. However it doesn't like FFreeListArray. It has a bunch of complains about it. At the time I thought "it's working. Don't touch it", but reading that it causes problems here doesn't surprise me.

I don't think debugging is really an issue. If nothing else, then use the current makefile for debugging and GCC for release DLLs.


It's tempting to look into this, but I'm currently working on a major task in M:C and want to finish that one ASAP.
 
after fixing boost sources (off. patches)
Where are the boost patches? I can't find them :(


FFreeListArray.h:71:20: error: 'FLA_FREE_LIST_INDEX' is not a member of 'FFreeList'
m_iFreeListHead = FFreeList::FLA_FREE_LIST_INDEX;
^
FFreeListArray.h:72:2: error: 'm_iFreeListCount' was not declared in this scope
m_iFreeListCount = 0;
^
FFreeListArray.h:73:2: error: 'm_iLastIndex' was not declared in this scope
m_iLastIndex = FFreeList::INVALID_INDEX;
^
FFreeListArray.h:74:2: error: 'm_iNumSlots' was not declared in this scope
m_iNumSlots = 0;
^

give me info how to fix it - so i can copy-paste fix for all of them.
It appears to be a silly issue, which is quite easy to fix.

Code:
int getNumSlots() const
{
	return [B][COLOR="Blue"]this->[/COLOR][/B]m_iNumSlots;
}
I added this-> and the error went away. The issue seems to be that the variables aren't declared in the class, but in the parent class. For unknown reasons gcc will not look in the parent unless you include this->.
 
Top Bottom