2012-04-13 41 views
6

Tôi đã tạo tệp .h và .c phải được biên dịch dưới dạng tệp C++ với Visual Studio. Tôi nghe nói tôi có thể làm điều gì đó như set_source_files_properties(${SOURCES} PROPERTIES LANGUAGE "CXX"). Song song, tôi đã đọc rằng tôi không nên làm điều đó vì nó chỉ nên được sử dụng trong những tình huống kỳ lạ.Buộc CMake sử dụng trình biên dịch C++ cho tệp C với Visual Studio

Vì vậy, cách tốt nhất để buộc CMake tạo dự án VS nào biên dịch tệp C thành tệp C++?

PS: đổi tên các tệp được tạo không phải là một tùy chọn.

Trả lời

8

Tôi đã sử dụng các thuộc tính riêng lẻ (rất có thể bạn cũng có thể đặt các thuộc tính thư mục - nhưng điều này không phải là hạt mịn) mà không có bất kỳ vấn đề gì. Tuy nhiên, không phải để thiết lập ngôn ngữ (nhưng tại sao nó lại khác biệt?):

SET_SOURCE_FILES_PROPERTIES(file1.c PROPERTIES LANGUAGE CXX) 

Điều này hoạt động dưới Linux và Windows và dường như không gây ra bất kỳ sự cố nào. Bạn đã nghe điều gì khiến bạn ngần ngại?

+0

Tôi sẽ cố gắng kiểm tra nó trong Windows trong vài phút ... – Anonymous

+0

Đã chỉnh sửa - Tôi đã sử dụng 'SET_SOURCE_FILES_PROPERTIES' cho các cờ và định nghĩa biên dịch cụ thể và nó hoạt động như một sự quyến rũ. – Anonymous

Các vấn đề liên quan