[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-source-highlight] Compilation failures using qmake + mingw / m

From: Lorenzo Bettini
Subject: Re: [Help-source-highlight] Compilation failures using qmake + mingw / msvc
Date: Tue, 17 Nov 2009 23:18:39 +0100
User-agent: Thunderbird (X11/20090817)


I'm working on this, and solving the autoconf generated files and defines in the .pro files, it's taking me some time.

Hope to have something ready soon :)


Matthias Pospiech wrote:
I have set up a qmake .pro file to make the libary without autoconf. (file attached)

You will see in the following issues, that moving away from autoconf and to windows problems arise that indicate that the code could be improved in its plattform independence. So I do not want to complain that it fails compilation, but want to give hints to improve the
plattform independence.

Using mingw I run into the following issues:

/source-highlight-3.1/lib/srchilite/settings.cpp:11: config.h: No such file or directory /source-highlight-3.1/lib/srchilite/settings.cpp:37: error: `ABSOLUTEDATADIR' was not declared in this scope C:/Programme/Qt/SDK/2009.04/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/io.h:176: error: too many arguments to function `int mkdir(const char*)' /source-highlight-3.1/lib/srchilite/settings.cpp:90: error: at this point in file

so that complition is stopped at settings.cpp.

Compling with msvc-2005 is more problematic:

The following warnings are thrown very often
\source-highlight-3.1\lib\srchilite\fileutil.h(28) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow) \source-highlight-3.1\lib\srchilite\formatterparams.h(18) : warning C4099: 'srchilite::FormatterParams' : type name first seen using 'class' now seen using 'struct' \source-highlight-3.1\lib\srchilite\sourcehighlighter.h(22) : see declaration of 'srchilite::FormatterParams' \source-highlight-3.1\lib\srchilite\eventgenerator.h(31) : warning C4800: 'unsigned int' : forcing value to bool 'true' or 'false' (performance warning)

Here again config.h does not exist (which really does not exist in the libary, nor mingw system header files).
Is this file generated by autoconf?
lib\srchilite\settings.cpp(11) : fatal error C1083: Cannot open include file: 'config.h': No such file or directory

The following error is much more problematic.
lib\srchilite\sourcehighlightutils.cpp(15) : fatal error C1083: Cannot open include file: 'dirent.h': No such file or directory

This is a header file _only_ existing in gcc derived compilers. Wikipedia says about it "The function is not part of the C standard", and it is not part of any Visual Studio compiler. This means that if you use this header it binds the libary code to gcc. I have seen other files where I expect that they only exist in gcc, for example <sys/stat.h>, or rather only in unix systems.

lib\srchilite\versions.cpp(18) : error C2065: 'VERSION' : undeclared identifier lib\srchilite\versions.cpp(22) : error C2065: 'LIBRARY_VERSION' : undeclared identifier This means that some Preprocessor Variables were not defined, probably the same as ABSOLUTEDATADIR in the mingw compilation step. Here porting from the old toolchain to the .pro file needs completed, but I am missing the necessary information.

You had asked why I want to compile using msvc and did not try your mingw compiled binaries. Well, it is because I have also projects which currently work only with visual studio, and for my new project where this libary
would be included I do not want to limit myself to either mingw or msvc.

Best Regards,
Matthias Pospiech


Help-source-highlight mailing list

Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134     (GNU/Linux User # 158233)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]