Hello ROOTERs,
I am trying to use ACLIC on a macro that uses a class (TQuaternion) that I previously loaded (in a library called libMath, see attached session) Methods of the class are correctly linked (for exemple ACLIC does not complain about Tquaternion::operator+(double))
But for friend function (like Tquaternion operator+(double, Tquaternion&) ) ACLIC linker Complains about not finding the corresponding function.
When compiling the macro under Visual I have not problem When interpreting the macro I have no problem (see attached session) Finally if I comment the line " q2 = a + q; " ACLIC also works
Does somebody has a hint of what I might be doing wrong ?
Eric
Compiled for win32.
CINT/ROOT C/C++ Interpreter version 5.15.169, Mar 14 2005 Type ? for
help. Commands must be C++ statements.
Enclose multiple statements between { }.
set source file copy flag ' 1'
root [0] gSystem->Load("p:/projets/ATOS/bin/release/libMath.dll")
(int)0
root [1] .x SimpleTestQuaternion.C+
Info in <TWinNTSystem::ACLiC>: creating shared library
p:\aps_local\scriptetuder oot\SimpleTestQuaternion_C.dll 228462_cint.cxx
Warning: operator<<(), parameter only differs in reference type or not
FILE:p:\r oot\root_4.04.02.win32gdk\/include\riostream.h LINE:32
s108_.cxx
Creating library
p:\aps_local\scriptetuderoot\SimpleTestQuaternion_C.lib and object
p:\aps_local\scriptetuderoot\SimpleTestQuaternion_C.exp
s108_.obj : error LNK2001: unresolved external symbol "class TQuaternion
__cdecl operator+(double,class TQuaternion const &)"
(??H_at_YA?AVTQuaternion@@NABV0@@Z)
p:\aps_local\scriptetuderoot\SimpleTestQuaternion_C.dll : fatal error
LNK1120: 1 unresolved externals Error in <ACLiC>: Compilation failed!
Error: Function SimpleTestQuaternion() is not defined in current scope
FILE: LI NE:0 Possible candidates are...
filename line:size busy function type and name
*** Interpreter error recovered ***
root [2] .x SimpleTestQuaternion.C
TQuaternion a quaternion class
(r,x,y,z)=(0.500000,0.000000,0.000000,0.000000)
(alpha,rho,theta,phi)=(0.000000,0.000000,0.000000,0.000000)
root [3]
INTERNET ne permettant pas d assurer l integrite de ce message, SODERN decline toute responsabilite au cas ou il aurait ete intercepte ou modifie.
This message and possibly any attachments are transmitted for the exclusive use of their addressee. Their content is confidential. If you are not the intended recipient please do not keep, copy, use or disclose this communication to others. Also Please delete it and notify the sender at once.
Because of the nature of INTERNET the sender is not in a position to ensure the integrity of this message, therefore SODERN disclaims any liability whatsoever in the event of this message having been intercepted and/or altered.
This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:09 MET