cuốn sách gpt4 ai đã làm

Biên dịch một tệp .cpp từ phần nội dung của tệp .cpp khác

In lại Tác giả: Walker 123 Thời gian cập nhật: 27-11-2023 23:28:30 28 4
mua khóa gpt4 Nike

Tôi đang phát triển một ứng dụng sử dụng dấu nhắc lệnh của Microsoft Visual Studio 2010 để biên dịch các tệp .cpp thô và phân tích đầu ra của chúng. Tôi đang gặp rất nhiều rắc rối và dường như không có nhiều thông tin trực tuyến về vấn đề này. Đây là mã rắc rối:

#include 
sử dụng không gian tên std;
...
tên chuỗi = "cl /EHsc";
tên += "example.cpp";
system("setupcppenv.bat"); // Một tập tin batch ngắn tôi đã viết để khởi chạy dấu nhắc cmd VC++ mà không khởi chạy một phiên bản cmd khác
hệ thống (tên.c_str());

Khi tôi thực thi (nó cố biên dịch example.cpp), tôi gặp lỗi:

lỗi nghiêm trọng C1043: iostream: không bao gồm đường dẫn

Tôi không có nhiều kinh nghiệm với các tệp bó hoặc sử dụng trình biên dịch dấu nhắc lệnh. Tôi đã làm gì sai? !

Ngoài ra, có cách nào khác để biên dịch từ bên trong ứng dụng không?

Cảm ơn!

câu trả lời hay nhất

mỗi hệ thống() tất cả các cuộc gọi đều gọi một quy trình riêng biệt, vì vậy khi quá trình đó kết thúc, bạn sẽ ở trong setupcppenv.bat Mọi biến môi trường được đặt trong tệp sẽ bị loại bỏ.

Những gì bạn nên làm là thêm các biến môi trường bạn đặt trong tệp .bat vào môi trường hệ thống hoặc ít nhất là vào môi trường của phiên bản cmd mà bạn đã khởi chạy ứng dụng của mình từ đó để chúng được kế thừa bởi hệ thống() Gọi quá trình bắt đầu.

Về c++ - biên dịch tệp .cpp từ nội dung của tệp .cpp khác, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7624064/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress