Tôi đã tạo một dự án C ++ mới trong Visual Studio 2008. Chưa có mã nào được viết; Chỉ cài đặt dự án đã được thay đổi.
Khi tôi biên dịch dự án, tôi nhận được lỗi nghiêm trọng sau:
lỗi nghiêm trọng LNK1104: không thể mở tệp 'C: \ Program.obj'
Tôi đã tạo một dự án C ++ mới trong Visual Studio 2008. Chưa có mã nào được viết; Chỉ cài đặt dự án đã được thay đổi.
Khi tôi biên dịch dự án, tôi nhận được lỗi nghiêm trọng sau:
lỗi nghiêm trọng LNK1104: không thể mở tệp 'C: \ Program.obj'
Câu trả lời:
Sự cố cụ thể này là do chỉ định phụ thuộc vào tệp lib có khoảng trắng trong đường dẫn của nó. Đường dẫn cần được bao quanh bởi dấu ngoặc kép để dự án biên dịch chính xác.
Trên tab Thuộc tính cấu hình -> Trình liên kết -> Đầu vào của thuộc tính của dự án, có thuộc tính Phụ thuộc bổ sung . Sự cố này đã được khắc phục bằng cách thay đổi thuộc tính này từ:
C: \ Program Files \ sofware sdk \ lib \ library.lib
Đến:
"C: \ Program Files \ sofware sdk \ lib \ library.lib"
Nơi tôi đã thêm các dấu ngoặc kép.
"C:\Program Files\sofware sdk\lib\library.lib"
. Việc không có ;
di chúc cũng khiến dự án biên dịch không chính xác.
Điều này có thể xảy ra nếu tệp vẫn đang chạy.
: -1: error: LNK1104: không thể mở tệp 'debug \ ****. Exe'
Sự cố đã biến mất đối với tôi sau khi đóng và mở lại Visual Studio. Không chắc tại sao sự cố lại xảy ra, nhưng điều đó có thể đáng để thử.
Điều này đã có trên VS 2013 Ultimate, Windows 8.1.
Ngoài ra, hãy kiểm tra để đảm bảo rằng bạn chưa bật tính năng này: Thuộc tính cấu hình -> C / C ++ -> Bộ xử lý trước -> Tiền xử lý tệp .
Vấn đề của tôi là thiếu một .lib
tiện ích mở rộng, tôi chỉ đang liên kết chống lại mylib
và VS quyết định tìm kiếm mylib.obj
.
Giải pháp 1 (đối với trường hợp của tôi): khởi động lại quá trình windows Explorer (có, trình quản lý tệp windows).
Giải pháp 2:
Tôi đoán rằng đôi khi hệ thống tệp hoặc bất kỳ ai đang kiểm soát nó bị mất quyền của nó. Trước khi khởi động lại phiên windows, hãy cố gắng diệt msbuild32.exe
các tiến trình zombie , khởi động lại visual studio, kiểm tra không có kể cả hiển thị tệp sự cố trên. Không có vấn đề cấu hình bản dựng. Nó xảy ra ngay bây giờ và sau đó. Một số thứ bên trong Windows không khắc phục được, cần khởi động lại.
Tôi đã gặp lỗi tương tự, chỉ với một gói Nuget mà tôi đã cài đặt (một gói không phải chỉ có tiêu đề) và sau đó cố gỡ cài đặt.
Điều sai đối với tôi là tôi vẫn đang bao gồm tiêu đề cho gói mà tôi vừa gỡ cài đặt trong một trong các tệp .cpp của mình (khá ngớ ngẩn, vâng).
Tôi thậm chí đã xóa liên kết thư mục thư viện bổ sung đến nó trongProject -> Properties -> Linker -> General
, nhưng tất nhiên là vô ích vì tôi vẫn đang cố gắng tham chiếu đến tiêu đề không tồn tại.
Chắc chắn là một thông báo lỗi khó hiểu trong trường hợp này, vì tên tiêu đề là <boost/filesystem.hpp>
nhưng lỗi đã cho tôi "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
và không có số dòng hoặc bất cứ điều gì.
Tôi đã gặp vấn đề tương tự, nhưng giải pháp cho trường hợp của tôi không được liệt kê trong câu trả lời. Chương trình chống vi-rút của tôi (AVG) đã xác định tệp MyProg.exe
là vi-rút và đưa tệp đó vào 'kho vi-rút'. Bạn cần phải kiểm tra kho lưu trữ này và nếu tệp ở đó - thì chỉ cần khôi phục nó. Nó đã giúp tôi ra ngoài.
Tôi gặp phải vấn đề tương tự với trình liên kết phàn nàn về việc thiếu tệp thực thi chính. Điều này đã xảy ra trong quá trình chuyển giải pháp của chúng tôi sang Visual Studio 2013 mới . Giải pháp là sự kết hợp đa dạng giữa các dự án / mã được quản lý và không được quản lý. Sự cố (và cách khắc phục) cuối cùng là thiếu tệp app.config trong thư mục giải pháp. Mất một ngày để tìm ra điều này :(, vì nhật ký đầu ra không hữu ích lắm.
Tôi đã kiểm tra tất cả các cài đặt của mình theo danh sách này: http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . Điều đó rất hữu ích đối với tôi và đối với tình huống của tôi, tôi phát hiện ra rằng Sự phụ thuộc liên kết của các thuộc tính của dự án có dấu ngoặc kép, điều này không nên có.
Tôi đang trả lời vì tôi không thấy giải pháp cụ thể này được liệt kê bởi bất kỳ ai khác.
Rõ ràng phần mềm chống vi-rút (Ad-Aware) của tôi đã gắn cờ một DLL mà một trong những dự án của tôi phụ thuộc vào và xóa nó. Ngay cả sau khi loại trừ thư mục chứa DLL, hành vi tương tự vẫn tiếp tục cho đến khi tôi khởi động lại máy tính của mình.
Trong trường hợp của tôi, tôi đã thay thế các tệp thư viện toán học từ khóa học Đồ họa Công cụ Trò chơi trước đó bằng GLM. Vấn đề là tôi đã không thêm chúng vào dự án trong Trình khám phá giải pháp của Visual Studio (mặc dù chúng nằm trong kho dự án).
Tôi đã gặp sự cố này cùng với lỗi LNK2038, hãy làm theo bài đăng này để tách riêng RELEASE và DEBUG DLL. Trong quá trình này, tôi đã dọn dẹp toàn bộ thư mục nơi các tệp phụ thuộc này đang cư trú.
May mắn thay, tôi đã có một bản sao lưu của tất cả các tệp này và nhận được tệp có lỗi này đang quay trở lại thư mục GỠ LỖI để giải quyết vấn đề. Mã lỗi đã gây hiểu lầm theo một cách nào đó vì tôi đã phải dành nhiều thời gian để tìm lại mẹo này từ một trong những câu trả lời từ bài đăng này một lần nữa.
Hy vọng câu trả lời này, giúp đỡ ai đó đang cần.
Tôi đã giải quyết nó bằng cách thêm một dự án hiện có vào giải pháp của mình , mà tôi đã quên thêm vào lần đầu tiên.
Tôi đã có những lỗi giống nhau:
fatal error LNK1104: cannot open file 'GTest.lib;'
Điều này được gây ra bởi ;
cuối cùng. Nếu bạn có nhiều thư viện, chúng nên được phân tách bằng dấu cách trống (phím cách), không có dấu phẩy hoặc dấu chấm phẩy!
Vì vậy, không sử dụng ;
hoặc bất kỳ thứ gì khác khi liệt kê các thư viện trongProject properties >> Configuration Properties >> Linker >> Input
Tôi đã thử giải pháp trên nhưng không làm việc cho tôi. Vì vậy, tôi đổi tên exe và xây dựng lại giải pháp. Nó làm việc cho tôi.
Tôi đã gặp lỗi chính xác này khi tạo VC ++ DLL trong Visual Studio 2019:
LNK1104: không thể mở tệp 'C: \ Program.obj'
Hóa ra trong Thuộc tính dự án> Trình liên kết> Đầu vào> Tệp Định nghĩa Mô-đun, tôi đã chỉ định một tệp def có dấu ngoặc kép chưa khớp ở cuối tên tệp. Xóa dấu ngoặc kép chưa khớp đã giải quyết được sự cố.
Tôi gặp vấn đề tương tự với "Visual Studio 2013".
LNK1104: cannot open file 'debug\****.exe
Nó đã giải quyết sau khi đóng và khởi động lại Visual studio.
Tôi đang gặp vấn đề tương tự, tôi vừa sao chép mã vào dự án mới và bắt đầu xây dựng. Một số lỗi khác bắt đầu đến. lỗi C4996: 'fopen': Hàm hoặc biến này có thể không an toàn. Cân nhắc sử dụng fopen_s thay thế
Để giải quyết vấn đề này một lần nữa, tôi đã thêm một thuộc tính của mình trong dự án Project như bên dưới. Dự án -> Thuộc tính -> Thuộc tính cấu hình -> c / c ++. Trong danh mục này có tên trường Định nghĩa tiền xử lý Tôi đã thêm _CRT_SECURE_NO_WARNINGS cái này để giải quyết vấn đề Hy vọng nó sẽ giúp ...
Cảm ơn bạn