привязка статической библиотеки к моему проекту без присвоения ей имени (VS2010)

#c #static-libraries #visual-studio-2010

#c #статические библиотеки #visual-studio-2010

Вопрос:

Это структура проекта:

 main.c
libexample.lib
libexample.h
  

main.c:

 #include "libexample.h"
int main(void){ return example(); }
  

example.h

 int example(void);
  

example.lib содержит реализацию следующим образом int example(void){return 4;}

если я открою свойства проекта и перейду к вводу, я могу добавить зависимость, назвав файл библиотеки.

 $(ProjectDir)libexample.lib
  

Есть ли способ добавить все файлы в каталог lib, не называя их?
Все, о чем я могу думать, это редактирование файла msbuild для поиска файлов * .lib и добавления их в список перед компиляцией.
Интересно, есть ли встроенный способ сделать это.

Ответ №1:

Используйте подстановочные знаки внутри вашего makefile, но я думаю, что это не очень хорошая практика.

 $(ProjectDir)lib*.lib
  

Комментарии:

1. Это хорошая практика, но *.lib ее следует использовать, как предложил Йоханнес.

2. Приятно — я не думал об использовании там подстановочных знаков. 🙂 Я глеб, которого я спросил перед редактированием buildscript. Забавно, как я почти ответил на это, задавая вопрос 🙂

3. Я не был уверен, потому что я не знаю buildscript systeme из vs, но я использовал его в makefiles, поэтому

4. На самом деле это не отвечало на вопрос о том, существует ли встроенный способ сделать это, поскольку OP уже предположил, что он может редактировать сценарий msbuild. Метод подстановочных знаков не работает в свойствах VS project.

5. Я только что протестировал его, он работает в VS2010-Express. Он встроен достаточно для моей цели. Если я «взломал» это свойство, я, возможно, в конечном итоге перегрузил сборку, ввел сгенерированный список и вызвал buildtask. Возможно, я плохо сформулировал свой вопрос, но ответ — это именно то, что я хотел.