Đây là một phần của chuỗi ít nhất hai câu hỏi liên quan chặt chẽ, nhưng khác biệt. Tôi hy vọng tôi đang làm điều đúng bằng cách yêu cầu họ một cách riêng biệt.Xây dựng ứng dụng Visual C++ không sử dụng chức năng CRT vẫn tham chiếu một số
Tôi đang cố gắng để ứng dụng Visual C++ 2008 hoạt động mà không có Thư viện thời gian chạy C. Đó là một ứng dụng Win32 GUI mà không cần MFC hoặc các công cụ ưa thích khác, chỉ cần Windows API đơn giản.
Vì vậy, tôi đặt Thuộc tính dự án -> Cấu hình -> C/C++ -> Nâng cao -> Bỏ qua tên thư viện mặc định thành Có (cờ biên dịch /Zl
) và được xây dựng lại. Giả sử tôi đã viết một hàm điểm nhập phù hợp, là chủ đề của my other question.
Tôi nhận được hai lỗi trình liên kết; chúng có thể liên quan. Trình liên kết phàn nàn về các biểu tượng bên ngoài chưa được giải quyết __fltused
và _memcpy
trong foobar.obj
. Không cần phải nói, tôi sử dụng không rõ ràng trong chương trình của tôi, nhưng tôi sử dụng memcpy
ở đâu đó trong foobar.cpp
. (Tôi đã sử dụng CopyMemory
nhưng điều đó hóa ra là #define
d để được giống hệt nhau để memcpy
...)
(Tôi nghĩ tôi có thể thoát khỏi những vấn đề memcpy
bằng cách sử dụng một trình biên dịch nội tại, như #pragma intrinsic(memcpy)
, nhưng điều này làm cho không có sự khác biệt.)
Nếu tôi nhìn vào sản lượng tiền xử lý (thêm /P
vào dòng lệnh biên dịch), tôi thấy không có tham chiếu đến một trong hai __fltused
hoặc _memcpy
trong foobar.i
.
Vì vậy, câu hỏi của tôi là: Các lỗi liên kết này đến từ đâu và làm cách nào để giải quyết chúng?
Và câu hỏi của bạn là? –
Ah ... chắc chắn đã mất đi bằng cách nào đó trong khi chia nhỏ thứ này thành hai. Thêm lại nó, cảm ơn! – Thomas