在Eclipse CDT Indigo中,有一項新功能允許您將新的C/C++模板項目添加到新項目嚮導中。我已經想出瞭如何成功做到這一點。我可以創建一個只依賴於簡單源文件的基本項目,但現在我想創建一個CPPUnit項目,我想自動添加CPPUnit庫。對於我的生活,我無法弄清楚如何實現這一目標。有誰知道如何?Eclipse CDT新項目模板 - 如何添加庫
回答
對不起,我遲到了,但對於同樣的問題,我只是有同樣的問題。我已經想出了一個解決方案。它適用於我,但我很清楚它可能不像所希望的那麼普遍。在你TEMPLATE.XML,你可能要添加以下過程:
<process type="org.eclipse.cdt.managedbuilder.core.AppendToMBSStringListOptionValues">
<simple name="projectName" value= "$(projectName)"/>
<complex-array name="resourcePaths">
<element>
<simple name="id" value="gnu.cpp.link.option.libs" />
<simple-array name="values">
<element value="dl" />
<element value="cppunit" />
</simple-array>
<simple name="path" value="" />
</element>
</complex-array>
</process>
關鍵的部分是要知道在哪裏放置兩個庫dl
和cppunit
。密鑰gnu.cpp.link.option.libs
對於在大多數Linux計算機上處於活動狀態的GNU編譯器工具鏈是正確的。
我已經從Eclipse插件org.eclipse.cdt.managedbuilder.gnu.ui_XXXXXXX
中提取了鍵名。你可以在Eclipse的plugins
文件夾中找到它。如果您需要其他工具集的密鑰,我建議打開plugin.xml文件。在這裏,您應該搜索屬性valueType="libs"
。相應的id
是您需要在流程文件中操作的關鍵。
如果您還需要操作庫搜索路徑,請搜索valueType="libPaths"
。這將導致你到關鍵gnu.cpp.link.option.paths
。您可以使用類似於上面所示的過程將其他條目添加到列表中。
這是AMAZING這個東西有多難找到。除了的plugin.xml瀏覽,所有的模板提供高效的斜升上執行這些選項:
源參考
模板瀏覽
插件/ org.eclipse.cdt.managedbuilder.gnu.ui_X.X.X.xxxxx.jar /模板/ projecttemplates/
- 和然後在每個凸出DIR(例如'HeloWorldCAnsiProject')定位TEMPLATE.XML
GNU C選項瀏覽
- 插件/ org.eclipse.cdt.managedbuilder.gnu.ui_X.XXxxxxx.jar /插入。XML
示例實現逆向工程
目標 - 設置 '跨GCC編譯器' - >優化 - > '其他優化標誌'
- 創建一個虛擬的C++項目沒有定製
打開的屬性。手動設置目標字段。我設置 '其他優化標誌' 到 'COME_FIND_ME'
在編輯器中打開.cproject文件。搜索COME_FIND_ME。這裏是我發現:
<option id="gnu.c.compiler.option.optimization.flags.1380831355" superClass="gnu.c.compiler.option.optimization.flags" value="COME_FIND_ME" valueType="string"/>
- 它是那麼類型 '字符串' 和 'ID' gnu.c.compiler.option.optimization.flags的。
在上面關於 'gnu.c.compiler.option.optimization.flags' 列出plugin.xml中
搜索。這裏是我的發現(在線1120):
<option name="%Option.Posix.Optimize.Flags" category="gnu.c.compiler.category.optimization" id="gnu.c.compiler.option.optimization.flags" valueType="string"> </option>
我們離開這個示例項目,並返回到您的TEMPLATE.XML你想要將它添加到。我們想在這裏附加默認值,所以讓我們來做。添加:
<process type="org.eclipse.cdt.managedbuilder.core.AppendToMBSStringOptionValue"> <simple name="projectName" value="$(projectName)" /> <complex-array name="resourcePaths"> <element> <simple name="id" value="gnu.c.compiler.option.optimization.flags" /> <simple name="value" value="-Omg_eclipse" /> <simple name="path" value="" /> </element> </complex-array> </process>
,就是這樣。
有用的鏈接
- Help - Eclipse Platform - How to register a project template with CDT
- Help - Eclipse Platform - Example template
注意
下面是其中MBS附加/設置功能生活:
- org.eclipse.cdt.managedbuilder.core.source_X.XXxxxxx.jar /組織/蝕/ CDT/managedbuilder/templateengine /處理
完整模板文件示例
終於,這裏有一個代碼片段,可以節省你幾個小時的互聯網沖刷。這個template.xml通過複製main.c創建一個新項目,並設置三個構建選項。
<?xml version="1.0" encoding="ISO-8859-1"?>
<template type="ProjTempl" version="1.0" supplier="stack_overflow" revision="1.0" author="Justin Reina"
id="EXE" label="My C Project" description="set some stuff."help="help.html">
<process type="org.eclipse.cdt.core.CreateSourceFolder">
<simple name="projectName" value="$(projectName)"/>
<simple name="path" value="bsp"/>
</process>
<process type="org.eclipse.cdt.core.AddFiles">
<simple name="projectName" value="$(projectName)"/>
<complex-array name="files">
<element>
<simple name="source" value = "main.c"/>
<simple name="target" value = "main.c"/>
<simple name="replaceable" value = "true" />
</element>
</complex-array>
</process>
<process type="org.eclipse.cdt.managedbuilder.core.AppendToMBSStringListOptionValues">
<simple name="projectName" value= "$(projectName)"/>
<complex-array name="resourcePaths">
<element>
<simple name="id" value="gnu.c.link.option.libs" />
<simple-array name="values">
<element value="corestuff" />
<element value="utilstuff" />
</simple-array>
<simple name="path" value="" />
</element>
</complex-array>
</process>
<process type="org.eclipse.cdt.managedbuilder.core.AppendToMBSStringOptionValue">
<simple name="projectName" value="$(projectName)" />
<complex-array name="resourcePaths">
<element>
<simple name="id" value="gnu.c.compiler.option.optimization.flags" />
<simple name="value" value="-Omg_eclipse" />
<simple name="path" value="" />
</element>
</complex-array>
</process>
<process type="org.eclipse.cdt.managedbuilder.core.SetMBSBooleanOptionValue">
<simple name="projectName" value="$(projectName)" />
<complex-array name="resourcePaths">
<element>
<simple name="id" value="gnu.c.link.option.nostdlibs" />
<simple name="value" value="true" />
<simple name="path" value="" />
</element>
</complex-array>
</process>
</template>
致Eclipse基金會;下次我可以給你半天的工資給你這個信息嗎?
- 1. Eclipse CDT - 新模板或「項目類型」
- 2. Eclipse CDT「新班級」模板
- 3. 如何添加庫到Eclipse CDT管理的項目
- 4. 如何使用Eclipse(CDT)將現有項目用作新模板的模板?
- 5. eclipse cdt添加多個庫
- 6. 無法在Eclipse Juno 8.1.1中添加靜態庫CDT C++項目
- 7. Eclipse CDT的項目模板 - 設置下拉選項
- 8. 如何使用CMake將文件添加到Eclipse CDT項目?
- 9. 如何將工作空間庫添加到Eclipse CDT autotools C/C++項目中?
- 10. Eclipse CDT:如何啓用項目調試
- 11. 如何用Eclipse CDT開發QT項目?
- 12. Eclipse(CDT)項目默認值
- 13. GHS .gpj項目到Eclipse CDT
- 14. 瞭解Eclipse CDT項目
- 15. Eclipse CDT無法使用標準庫創建新項目
- 16. 如何在Delphi中添加新的項目模板
- 17. Visual Studio,如何從在線模板添加新項目?
- 18. 將preinclude頭文件添加到Eclipse CDT C項目
- 19. 分享一個Eclipse CDT項目
- 20. 將庫中的外部源文件添加到Eclipse中的項目-CDT
- 21. Eclipse CDT Kepler導入Makefile項目
- 22. Eclipse CDT,cmake,重疊子項目
- 23. 添加庫到eclipse C++項目(根)
- 24. 將android eclipse庫添加到unity3d項目
- 25. 添加jar庫到eclipse項目導出
- 26. 將Janrain庫添加到eclipse項目中?
- 27. 將C++庫添加到eclipse C++項目
- 28. 將庫添加到Android/Eclipse項目
- 29. 如何在Xcode 4中添加Java模板項目?
- 30. 如何製作新的Eclipse項目模板?
是否有設置下拉菜單的過程?我正在研究其中的一個,並已設法獲得各種庫,包含和其他選項,但我有一個下拉列表,我想設置,但無法弄清楚。 – sfjac
此外,我做了兩次導出過程,並注意到現在有兩個罐子 - 有沒有辦法卸載舊版本?只是炸燬罐子或其他文件修改? – sfjac