Tôi đang sử dụng nhật thực để xây dựng dự án avr-gcc trộn mã lắp ráp và tệp nguồn C. Tôi muốn loại bỏ thế hệ makefile tự động của nhật thực vì tôi cần tự động hóa một số quy trình vào makefiles và vì các lý do khác.Trộn nguồn C và lắp ráp và xây dựng với cmake
Tôi đã sử dụng cmake vài lần trước và tôi đã hài lòng với nó vì vậy tôi muốn cố gắng biên dịch các tệp nguồn của mình bằng cách sử dụng nó. Mọi thứ đều chạy như mong đợi với các nguồn C. Vấn đề là ở phần cuối, tôi cần biên dịch một số tập tin lắp ráp (thực sự là 2) và thêm chúng vào mục tiêu.
Tôi googled xung quanh nhưng tôi đã không tìm thấy một cách để làm điều này. ai đó có ý tưởng về cách thực hiện việc này?
Vấn đề là trong eclipse Tôi có -x lắp ráp-với-cpp
bổ sung vào danh sách đối số gcc. Tôi cần phải tìm một cách để chọn lọc thêm param này vào danh sách đối số gcc tiêu chuẩn chỉ cho các tập tin asm. Tôi không tìm thấy cách nào để làm điều này.
cảm ơn bạn trước
SOLUTION: bộ trong CMakeLists.txt mỗi tập tin để biên dịch trong cùng một danh sách
enable_language(C ASM)
set (SOURCES
foo.c
bar.c
foobar.s
)
add_executable(program ${SOURCES})
trong file toolchain bạn nên đặt:
SET(ASM_OPTIONS "-x assembler-with-cpp")
SET(CMAKE_ASM_FLAGS "${CFLAGS} ${ASM_OPTIONS}")
dòng thứ hai chỉ là nếu bạn cần chuyển các tùy chọn bổ sung trong khi biên dịch các tệp asm. Tôi muốn vượt qua tất cả CFLAGS cộng với một số ASM_OPTIONS
bạn có thể miêu tả chính xác hơn vấn đề là gì với việc biên dịch các nguồn lắp ráp? –
Tôi đã chỉnh sửa bài đăng của mình. xin vui lòng xem nó để biết chi tiết mới. Tôi hy vọng họ là khó khăn để hiểu vấn đề là gì. cảm ơn bạn lần nữa – andyinno
Tôi không hiểu. Bạn không muốn sử dụng các tệp makefiles do Eclipse tạo ra, và phàn nàn về Eclipse viết của Makefile? – vonbrand