Пожалуйста, помогите, я потратил весь день, пытаясь скомпилировать приложение на С++.
Мой проект содержит один исходный файл: Foo.cpp. Вот его код:
#include <jni.h>
#include <com_Foo.h>
JNIEXPORT jint JNICALL Java_com_Foo_add
(JNIEnv * env, jobject obj, jint x, jint y)
{
return x+y;
}
как вы можете видеть, я пытался использовать JNI, но я не думаю, что это имеет какое-либо отношение к проблеме. Вот что я пробовал в командной строке:
C:\Users\michael\cworkspace\foo>cl -LD Foo.cpp -FeFoo.dll
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
Foo.cpp
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
/dll
/implib:Foo.lib
/out:Foo.dll
Foo.obj
LINK : fatal error LNK1104: cannot open file 'LIBCMT.lib'
В моей среде я установил:
ВКЛЮЧЕНО: C: _\include; C:\frankenstein\includes; C:\Program Files\Java\jdk1.6.0_24\include; C:\Program Files\Java\jdk1.6.0_24\include\win32; C: _\include\win32; C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include
LIBPATH: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib
Я проверил в каталоге lib, он содержит файл libcmt.lib. Не знаю, чувствителен ли он к регистру, но я знаю, что ничего не изменил в файлах или каталогах визуальной студии.
Кто-нибудь, пожалуйста, скажите мне, как я могу сделать эту работу?