Затмение включает в себя пользовательские файлы (с)
Не уверен, как сформулировать вопрос.
Я создал несколько файлов для своего проекта c, которые я хотел бы использовать для нескольких проектов.
Project root: ~/workspace/myproject
Files :
~/workspace/myproject/customlib/myfile.h
~/workspace/myproject/customlib/myfile.c
Я смог переместить их из своего рабочего пространства затмения (Code Composer Studio) и заменить их символическими ссылками на их новое местоположение.
Custom lib dir: ~/myfiles/customlib
Это работает нормально, но я бы предпочел не использовать символические ссылки, так как возникает необходимость добавить эти символические ссылки в любой проект, где я хочу свои файлы пользовательских библиотек. Также при копировании / вставке проекта в Eclipse он, похоже, не понимает символическую ссылку и создает копию файла, а не символическую ссылку.
Я установил включаемый путь к ~/myfiles/, но при компиляции я получаю кучу неразрешенных ошибок символов.
Мои пользовательские файлы также зависят от файлов из других путей. (если это может быть намек на то, почему что-то ломается)
Есть ли другой способ ссылки на эти файлы?
1 ответ
Я понял, как я могу сделать то, что я ищу, но не могу опубликовать ответ в течение 8 часов, поэтому я отвечу здесь.
Мне удалось добавить файлы.c как "Связанные ресурсы" в мой проект.
В итоге у меня был путь включения к ~/myfiles и связанный ресурс ~/myfiles/customlib/myfile.c.
Связанные ресурсы можно найти в Свойствах проекта -> Ресурс -> Связанные ресурсы -> Связанные ресурсы (вкладка)
К сожалению, моя среда, Code Composer Studio 6 в Ubuntu, не позволила мне фактически добавить связанный ресурс через IDE.
В качестве обходного пути я добавил связанный ресурс непосредственно в файл.project.
~ / Рабочее пространство / MyProject/.project
Под разделом с надписью "природы" я добавил
<linkedResources>
<link>
<name>myfile.c</name>
<type>1</type>
<locationURI>$%7BPARENT-2-PROJECT_LOC%7D/myfiles/customlib/myfile.c</locationURI>
</link>
</linkedResources>
"$%7BPARENT-2-PROJECT_LOC%7D" ссылается на ~/workspace/myproject/../../ (он же ~/). 2 говорит, сколько../
В случае, если вы не получили правильное расположение locationII в первый раз, вы сможете отредактировать путь к файлу из Свойства проекта -> Ресурс -> Связанные ресурсы -> Связанные ресурсы (вкладка)
Вы можете использовать любые определенные переменные сборки для locationURI. Вот еще один способ написать URI местоположения. PROJECT_LOC/../../ MyFiles / customlib / myfile.c
Поскольку это файл проекта Eclipse, он будет перезаписан любым файлом Eclipse, который будет правильным форматом для locationURI.
Вы можете поместить связанный ресурс в папку в вашем проекте, изменив тег. projectsubfolder / myfile.c. Это создаст папку проектов в папке вашего проекта. ~/ Рабочее пространство / MyProject/projectsubfolder
К сожалению, это не оптимальное решение, так как мне нужно будет добавлять записи связанных ресурсов для каждого исходного файла, который я создаю в своей пользовательской библиотеке. CCS копирует связанные ресурсы при выполнении копирования / вставки проекта, требуя, чтобы вы снова добавили связанные ресурсы в ваш скопированный проект.
В конце концов, это похоже на решение, но на самом деле оно не имеет большого преимущества по сравнению с символьными файлами. Единственное, что, когда я копирую / вставляю проект, я знаю, что проект не использует правильные файлы, когда он не компилируется. (символическая ссылка создаст рабочий проект с копиями файлов вместо оригиналов)
Я предполагаю, что мне нужно будет научиться создавать файлы.lib, чтобы сделать это включение более легким.