Я переношу некоторые материалы Visual Studio 2008/VC9 в Code :: Blocks/MinGW и по какой-то причине компоновщик не может найти статическую библиотеку из другого проекта в рабочей области.Linker не может найти статическую библиотеку в том же каталоге
В Visual Studio 2008 я мог бы просто установить статический проект lib как зависимость, и он будет строиться в правильном порядке (то есть статическая библиотека должна быть построена до связывания другого проекта) и связать правильную библиотеку для конфигурации.
Я не мог найти такой вариант в Code :: Blocks, поэтому я обязательно должен был создать статический lib first (libcommon.a), а затем в разделе «Опции сборки» для другого проекта добавить «libcommon.a» в «настройках компоновщика». Файл. Находится в том же каталоге, что и файлы проект, однако я все еще получает ошибку от линкера других проектов говорю, что они не могут найти его ...
ld.exe не может найти -lcommon
Что я делаю, поэтому он не может найти библиотеку, хотя ее право рядом с файлом проектов?
Также существует лучший способ моделирования зависимостей Visual Studio в пределах одного решения/рабочего пространства?
В сообщении об ошибке упоминается «-lcommon», но вы говорите, что ваша библиотека называется «libcommon.a». Я не знаком с Code :: Blocks; делает "-lcommon" переводят на "libcommon.a"? Вы всегда можете запустить File Monitor и посмотреть, какой файл (и в каком каталоге) ищет компоновщик. – Luke
Ну, я специально сказал блокам кода для ссылки «libcommon.a», и он дал компоновщику «lcommon», поэтому я собираюсь пойти с компилятором, не ожидая продолжения «lib» и расширения «.a». Другие библиотеки работают нормально и имеют одинаковую разницу между именем файла и тем, что получает компоновщик. –