在C項目中,我在幾個文件中都有一個main()函數。當我編譯時,我有一個錯誤「主要的多重聲明」。是否可以在Makefile中選擇哪些main()函數應該用於編譯? (其他人將被忽略...)選擇在Makefile中使用哪個main()
2
A
回答
4
你可以使用預處理器隱藏起來:
在file1.c中:
#if defined FILE1_MAIN
int main(void)
{
printf("Running main() in file1.c");
return 0;
}
#endif
這可以在任意數量的C文件根據需要重複。
然後在Makefile中有邏輯將正確的-D選項傳遞給編譯器,即-DFILE1_MAIN包含file1中的main()
,-DFILE2_MAIN中包含file2.c中的內容等等。
該技術在實施例庫模塊,以包含一個可選的main()
用於在單個C文件中進行測試。
0
您的源中只有一個main()
函數。您必須重命名所有其他實例,或者從構建中排除包含main()
的其他實例的源文件。
1
您可以簡單地爲每個main()
編寫一個目標,其中您將忽略除包含main()
之外的所有文件。
相關問題
- 1. 的Makefile多個文件`main`
- 2. 在Makefile中使用多個%
- 3. jhipster:使用哪個日期選擇器
- 4. EveryBlock使用哪個日期選擇器?
- 5. 使用哪個CSS選擇器?
- 6. scala選擇使用哪個地圖?
- 7. 選擇使用哪個參數
- 8. 更改在eclipse中運行哪個main()
- 9. 在Gnu Makefile中選擇「使用Unicode字符集」
- 10. CodeIgniter PHP - 如何選擇使用「select *」在聯接中選擇哪個ID
- 11. Android中的main()在哪裏?
- 12. 選擇哪個div類ruby應該選擇? (使用watir)
- 13. 哪個JRadioButton選擇
- 14. 分機選擇在Linq中使用哪個分機
- 15. 如何選擇在VB6中使用哪個Oracle客戶端?
- 16. 選擇在OpenCV中使用哪個網絡攝像頭
- 17. 如何選擇在CFG派生中使用哪個規則?
- 18. 選擇在maven中使用哪個代理?
- 19. 選擇在ASP.NET MVC表格中使用哪個控制器
- 20. C++如何在if(class)中選擇使用哪個運算符?
- 21. 選擇在Visual C++ 2010中使用哪個主函數
- 22. 使用複選框以選擇哪個陣列(S)從在JavaScript
- 23. 我們可以將兩個文件與main()放在makefile中嗎?
- 24. 知道在哪個單元格中選擇了哪個按鈕
- 25. C#Winforms選擇在哪裏查詢使用Datagridview選擇
- 26. 在編譯時選擇使用模板調用哪個函數
- 27. Makefile - 使用掩碼從列表中選擇名稱
- 28. 多個選擇wheres與一個選擇在哪裏或
- 29. 如何用Makefile選擇* .c文件?
- 30. 選擇哪個框架?
謝謝,效果很好! – 2010-03-23 11:26:45