Unresolved external symbol errors when linking example native c++ code that uses jcc

2010-10-21 Thread Imre András
Hi list,

I intend to use jcc to ease calling Java code from native code. I managed to 
build and install it. Now I try to build my first test code from within MS VS 
2010 Win32 console app project. Despite setting up the libs and includes I 
still get linker errors:

--
Link:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe 
/ERRORREPORT:PROMPT 
/OUT:C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug\jcc.exe /INCREMENTAL 
/NOLOGO python27.lib _jcc.lib jvm.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib 
uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib 
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib /MANIFEST 
/ManifestFile:Debug\jcc.exe.intermediate.manifest 
/MANIFESTUAC:level='asInvoker' uiAccess='false' /DEBUG 
/PDB:C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug\jcc.pdb 
/SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT 
/IMPLIB:C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug\jcc.lib /MACHINE:X86 
Debug\jcc.exe.embed.manifest.res
Debug\jcc.obj
Debug\stdafx.obj
Debug\__wrap__.obj
Creating library C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug\jcc.lib and 
object C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug\jcc.exp
1jcc.obj : error LNK2001: unresolved external symbol unsigned long VM_ENV 
(?VM_ENV@@3KA)
1stdafx.obj : error LNK2001: unresolved external symbol unsigned long VM_ENV 
(?VM_ENV@@3KA)
1__wrap__.obj : error LNK2001: unresolved external symbol unsigned long 
VM_ENV (?VM_ENV@@3KA)
1jcc.obj : error LNK2001: unresolved external symbol class JCCEnv * env 
(?env@@3PAVJCCEnv@@A)
1stdafx.obj : error LNK2001: unresolved external symbol class JCCEnv * env 
(?env@@3PAVJCCEnv@@A)
1__wrap__.obj : error LNK2001: unresolved external symbol class JCCEnv * env 
(?env@@3PAVJCCEnv@@A)
1C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug\jcc.exe : fatal error 
LNK1120: 2 unresolved externals
1Done Building Project 
C:\out\app\PeldaProgram\ZipBe\bin\test\jcc\jcc.vcxproj (rebuild target(s)) -- 
FAILED.

Build FAILED.

Time Elapsed 00:00:12.60
--


jni.h and Native2Java.h (jcc generated from the java class I intend to use in 
native c++ code) is added to stdafx.h. Now I have no idea where the above 
symbols come from, and how should I resolve them.


Regards,
András



Re: Unresolved external symbol errors when linking example native c++ code that uses jcc

2010-10-21 Thread Andi Vajda


On Oct 21, 2010, at 4:39, Imre András ia...@freemail.hu wrote:


Hi list,

I intend to use jcc to ease calling Java code from native code. I  
managed to build and install it. Now I try to build my first test  
code from within MS VS 2010 Win32 console app project. Despite  
setting up the libs and includes I still get linker errors:


I'm not sure this link line makes sense. To get an idea of what the  
correct link line looks like, get jcc to build a python extension and  
take a close look at the link line it generates as an example for your  
C++ only case.


Andi..




--
Link:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe / 
ERRORREPORT:PROMPT /OUT:C:\out\app\PeldaProgram\ZipBe\bin\test\src 
\Debug\jcc.exe /INCREMENTAL /NOLOGO python27.lib _jcc.lib jvm.lib  
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib  
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib  
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib  
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  
uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:Debug 
\jcc.exe.intermediate.manifest /MANIFESTUAC:level='asInvoker'  
uiAccess='false' /DEBUG /PDB:C:\out\app\PeldaProgram\ZipBe\bin\test 
\src\Debug\jcc.pdb /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE / 
NXCOMPAT /IMPLIB:C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug 
\jcc.lib /MACHINE:X86 Debug\jcc.exe.embed.manifest.res

Debug\jcc.obj
Debug\stdafx.obj
Debug\__wrap__.obj
Creating library C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug 
\jcc.lib and object C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug 
\jcc.exp
1jcc.obj : error LNK2001: unresolved external symbol unsigned long  
VM_ENV (?VM_ENV@@3KA)
1stdafx.obj : error LNK2001: unresolved external symbol unsigned  
long VM_ENV (?VM_ENV@@3KA)
1__wrap__.obj : error LNK2001: unresolved external symbol unsigned  
long VM_ENV (?VM_ENV@@3KA)
1jcc.obj : error LNK2001: unresolved external symbol class JCCEnv  
* env (?env@@3PAVJCCEnv@@A)
1stdafx.obj : error LNK2001: unresolved external symbol class  
JCCEnv * env (?env@@3PAVJCCEnv@@A)
1__wrap__.obj : error LNK2001: unresolved external symbol class  
JCCEnv * env (?env@@3PAVJCCEnv@@A)
1C:\out\app\PeldaProgram\ZipBe\bin\test\src\Debug\jcc.exe : fatal  
error LNK1120: 2 unresolved externals
1Done Building Project C:\out\app\PeldaProgram\ZipBe\bin\test\jcc 
\jcc.vcxproj (rebuild target(s)) -- FAILED.


Build FAILED.

Time Elapsed 00:00:12.60
--


jni.h and Native2Java.h (jcc generated from the java class I intend  
to use in native c++ code) is added to stdafx.h. Now I have no idea  
where the above symbols come from, and how should I resolve them.



Regards,
András