Я хочу отладить программу, которую я написал.Поэтому я хотел бы связать его, используя "-g -O0".Когда я компилирую (используя make-файл автоинструментов), используя
make CXXFLAGS = '- g -O0'
, я получаю некоторые ошибки:
libtool: ссылка: g ++ -O2 -g -O0 -I / opt / adolc-2.2.1 / include -o oc_poly oc_poly-oc_poly.o oc_poly-oc_p2p.o -L / opt / ipopt-3.9.3 / lib / coin-L / opt / ipopt-3.9.3 / lib / coin / ThirdParty -L / usr / lib / i386-linux-gnu / gcc / i686-linux-gnu / 4.5.2 -L / usr / lib / i386-linux-gnu / gcc / i686- linux-gnu / 4.5.2 /../../ .. -L / usr / lib / i386-linux-gnu /opt/ipopt-3.9.3/lib/coin/libipopt.so -llapack -ldl /opt/ipopt-3.9.3/lib/coin/ThirdParty/libcoinhsl.so /opt/ipopt-3.9.3/lib /coin/ThirdParty/libcoinblas.so /opt/ipopt-3.9.3/lib / coin / ThirdParty / libcoinlapack.so /opt/ipopt-3.9.3/lib/coin/ThirdParty/libcoinmumps.so -lpthread -lblas -lgfortran -lm -lgcc_s /opt/ipopt-3.9.3/lib/coin/ThirdParty / libcoinmetis.so -L / opt / adolc-2.2.1 / lib /opt/adolc-2.2.1/lib/libadolc.so -Wl, -rpath -Wl, / opt / ipopt-3.9.3 / lib /coin -Wl, -rpath -Wl, / opt / ipopt-3.9.3 / lib / coin / ThirdParty -Wl, -rpath -Wl, / opt / adolc-2.2.1 / lib -Wl,-rpath -Wl, / opt / ipopt-3.9.3 / lib / coin -Wl, -rpath -Wl, / opt / ipopt-3.9.3 / lib / coin / ThirdParty -Wl, -rpath -Wl, / opt /adolc-2.2.1 / lib oc_poly-oc_p2p.o: в функции OCP_P2P::get_bounds_info(int, double*, double*, int,
double*, double*)':
/home/christian/Dokumente/Uni/SA/ist/Berechnungen/Optimale Steuernug/IpOpt
/oc_p2p.cpp:162: undefined reference to
OCP_P2P :: INF '
Упомянутый символ INF является статическим членом класса, определенным в определении класса OCP_P2P.
Если я опускаю CXXFLAGS или устанавливаю для них любое значение оптимизации O1, O2, O3 или Os, связь работает довольно хорошо.Я использую g ++ 4.5.2.
Кто-нибудь может дать мне подсказку, что здесь происходит не так?Как мне отладить мою программу?
Спасибо
Кристиан