Qin An at
Mon Dec 27 03:51:09 UTC 2004


I built a code using my lib - ginac and cln. But I found there exist a different compile result between the kdevelp and console command. For example,

 // test.cpp
 #include <iostream>
 #include <ginac/ginac.h>
 using namespace std;
 using namespace GiNaC;

 int main(int argc, char *argv[])
  symbol x("x");

  ex exp = sin(x);
  cout << exp << endl;

  return EXIT_SUCCESS;

 that is ok when you typed the command: c++ test.cpp -o test -lcln -lginac , the result showed
 but on the kdevelop, the compiler will show you the error messages:

 /usr/local/include/ginac/container.h: In member function
 `GiNaC::container_storage<C>::STLT GiNaC::container<<anonymous template
 template parameter> >::evalchildren(int) const [with C = std::vector]':
 /usr/local/include/ginac/container.h:557: instantiated from `GiNaC::ex GiNaC::container<<anonymous
 template template parameter> >::eval(int) const [with C = std::vector]'
 /usr/local/include/ginac/container.h:130: instantiated from here
 /usr/local/include/ginac/container.h:708: exception handling disabled, use
 -fexceptions to enable

I have added the options , -lcln and -lginac to the kdevelop project makefile. And the compiler's error messages show those may be the  IDE's button that toggles that particular compiler switch which breaks your built.

However, I don't know how  the  IDE invokes the compiler: what exactly
are the switches?  What's the difference to when you invoke it manually?

could anybody give some adivce??



- Qin An

More information about the KDevelop-devel mailing list