Xin vui lòng trợ giúp, tôi đã dành cả ngày cố gắng để làm cho biên dịch ứng dụng C++ của tôi.LINK: lỗi nghiêm trọng LNK 1104: không thể mở tệp 'LIBCMT.lib'
Dự án của tôi chứa một tệp nguồn: Foo.cpp. Đây là mã của nó:
#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;
}
như bạn có thể thấy tôi đang cố gắng sử dụng JNI, nhưng tôi không nghĩ rằng có bất cứ điều gì để làm với các vấn đề. Đây là những gì tôi đã cố gắng trên dòng lệnh:
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'
Trong môi trường của tôi, tôi đã thiết lập:
BAO GỒM: C: _ \ include; C: \ Frankenstein \ bao gồm; 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 \ bao gồm
LIBPATH: C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ lib
Tôi đã kiểm tra trong thư mục lib, nó chứa một tập tin "libcmt.lib". Không biết nếu nó là trường hợp nhạy cảm, nhưng tôi biết rằng tôi không bao giờ thay đổi bất cứ điều gì trong các tập tin studio hình ảnh hoặc thư mục.
Ai đó vui lòng cho tôi biết cách tôi có thể thực hiện công việc này?
BTW, tệp này tồn tại trên ổ đĩa của tôi: C: \ _ \ include \ com_Foo.h, sự phụ thuộc vào libcmt phải đến gián tiếp từ jni.h bao gồm. – msknapp
Tôi nghĩ rằng điều này có thể xuất phát từ việc không tạo mã trong studio trực quan, nhưng cố gắng sử dụng trình biên dịch của nó. Tôi đã tạo ra ứng dụng trong Code :: Blocks, và khi tôi không thể thực hiện công việc biên dịch MinGW32 g ++, tôi đã thử sử dụng trình biên dịch phòng thu trực quan. Có lẽ nó giả định một cấu hình dự án nhất định. Có thể trình biên dịch hình ảnh chỉ hoạt động khi dự án được xây dựng trong studio trực quan không? – msknapp
Đây có lẽ là một chủ đề cũ, nhưng kể từ khi tôi chạy vào nó bây giờ, tôi nghĩ rằng nó có thể hữu ích. @ mrsheen của câu trả lời dưới đây làm việc cho tôi, nhưng tôi đã phải chạy chương trình từ cmd phát triển chứ không phải là bình thường (nơi lỗi vẫn tồn tại). Chỉ cần một FYI cho một người có thể vẫn đang tìm kiếm điều này ngoài kia. – prateek1592