1) the include paths for the gnu compiler in the colmpiler setting should have this entry also
2) apparently the compiler is able to find those header files during compilation, does it have this extra path build in ? or can it figure it out otherwise (environment?) -> if CB also could figure this out, it could registrate also this/these extra path(s) ??
The second problem is :
In the attached project switch to the digital mars compiler (includes path for that compiler are for example : C:\dm and c:\dm\stlport\stlport).
Save the project, close it, open it
The include paths of the digital mars are not added to the parser::AddIncludeDir(), once again it are the include paths of the gun compiler which are added.
so for the first problem that means if we don't add it, we can't open c++ headers, like iostream, vector, ...
Question, what would CB do, when I have 2 gnu compilers installed, lets say 3.4.4 and 4.0.0 ?
D:\> g++ -v -E -x c++ - < nul
Reading specs from D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --
disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --
disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libst
dcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)
D:/C++/MinGW/bin/../libexec/gcc/mingw32/3.4.2/cc1plus.exe -E -quiet -v -iprefix D:\C++\MinGW\bin/../lib/gcc/mingw32/3.4.2/ -
ignoring nonexistent directory "D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../mingw32/include"
ignoring nonexistent directory "/mingw/include/c++/3.4.2"
ignoring nonexistent directory "/mingw/include/c++/3.4.2/mingw32"
ignoring nonexistent directory "/mingw/include/c++/3.4.2/backward"
ignoring nonexistent directory "/mingw/include"
ignoring nonexistent directory "/mingw/include"
ignoring nonexistent directory "/mingw/lib/gcc/mingw32/3.4.2/include"
ignoring nonexistent directory "/mingw/mingw32/include"
ignoring nonexistent directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/mingw32
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/backward
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/include
End of search list.
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "<stdin>"
#include "..." search starts here:
#include <...> search starts here:
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/mingw32
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/backward
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include
D:/C++/MinGW/bin/../lib/gcc/mingw32/3.4.2/include
End of search list.
There's one TODO left, [...]Just a hint: I never did very much with wxWidgets but I believe that there is a wxTempFile that does the job: http://www.wxwidgets.org/manuals/2.6.1/wx_wxtempfile.html.
Nevertheless, interesting function, I just learned some more stuff , thank you....you might want to learn even more: :)
There's one TODO left, I just create the temp file, without checking where we are (and if we can actually create a file at that place), maybe we should check the environment for the temp dir (does that exist in linux ??). On windows I saw that the temp file showed up next to the Cb executable and then nicely disappears.
is it correct that the file should then be destroyed by a regular call to ::wxRemoveFile(filename returned from CreateTempFileName), or should antoher specialised funtion be used ??
Yiannis, it does create the file " ... If the function succeeds, the temporary file is actually created. "
As shows also the attached updated path (works for me).
allrighty, here we go with the analysis of problem 2 : [...]I am sorry, but can I ask to go a step back? I have somehow lost the point of this discussion. :( I have understood why you want to add the mingw version special directories (for the includes), but what are you trying to solve with the latest post? What is "problem 2"? Could you please explain this to me in a short proposal? That would help me... sorry.
Hope this makes it clear,It did, thanks. But: I cannot reproduce the issue you have explained. I've opened your project, compiled it with the default compiler (mingw). Then I changed the compiler for this project to Digital Mars. C::B complained I should recompile, so I did. I re-build the project which was now done with DM and worked. Then I closed C::B (and saved the changes done to the project). I re-opened the project and re-build it again (without changin any settings). It was compiled with the DM compiler again and was still working also the include path's were set correctly to the ones of DM...
Does your remark also apply to the compiler ? Because there it is for sure a bug, don't think we should allow for selection here. Your target (or your single file) is using 1 and only 1 compiler. Allthough we again end up at the same problem when the target is 'all'.
Yes you are missing a little thingy :)Aaaah! Now I got the whole picture (sorry for taking so long... :? ). So it was still about the includes - I tried and can confirm. I never did such things. My full respect that you take your information about the C++ API's and stuff directly from the header files... :shock: