В MS Visual C ++ 2010
у меня был единственный проект C ++ в моем решении, который использовал ускорение и отлично работал.
Затем я решил преобразовать этот проект в статическую библиотеку и создать новый проект, который зависит от этой статической библиотеки.
Теперь моя преобразованная статическая библиотека строится без ошибок и предупреждений (компилятор и компоновщик) но новый проект компилируется, но не связывается.
Я получаю:
1>LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-1_45.lib'
В качестве теста я добавил полный путь к каталогу к параметрам компоновщика для этой библиотеки ... а затем он пожаловался на
1>LINK : fatal error LNK1104: cannot open file 'libboost_date_time-vc100-mt-1_45.lib'
Я добавил полные пути ко всем библиотекам, и теперь строит и запускает.
Я не доволен этим решением, потому что:
Я знаю, что ответом будет создание библиотеки DLL, но есть ли способ сделать это статически и сохранить связь на уровне моей статической библиотеки.
Изменить:
Если я скажу Компоновщик .exe, чтобы явно игнорировать библиотеки boost, тогда все в порядке, за исключением того, что .exe не нужно вообще беспокоиться о повышении.
/NODEFAULTLIB:"libboost_thread-vc100-mt-1_45.lib" /NODEFAULTLIB:"libboost_date_time-vc100-mt-1_45.lib"