Size: a a a

2020 August 25

ПК

Побитый Кирпич... in supapro.cxx
#elif defined(FTD2XX_STATIC)
// Avoid decorations when linking statically to D2XX.
#define FTD2XX_API
источник

ПК

Побитый Кирпич... in supapro.cxx
Так что ты нам что то не договариваешь
источник

IZ

Ilia Zviagin in supapro.cxx
Aleksandr
Господа, у меня возник вопрос относительно линковки библиотек в винде. При создании динамической библиотеки я линкую в нее статическую, и в итоге вижу что из динамической экспортируются не только те функции, что мною запланированы, но и те, что экспортирует статическая библиотека.
Например, я при создании библиотеки dynamic.dll с экспортируемой функцией foo() я линкую в нее static.lib из которой экспортируется bar(). В итоге, из dynamic.dll экспортируются и foo(), и bar().
По какой-то причине это происходит не со всеми библиотеками. Решение наверняка элементарное, но не могу к нему прийти
Среда и компилятор MSVC 2017
Статическая библиотека ничего не экспортирует, так что ты ошибся.
источник

A

Aleksandr in supapro.cxx
Побитый Кирпич
#elif defined(FTD2XX_STATIC)
// Avoid decorations when linking statically to D2XX.
#define FTD2XX_API
и если глянешь в код что я кинул для примера - у меня там определено FTD2XX_STATIC
источник

ПК

Побитый Кирпич... in supapro.cxx
Aleksandr
и если глянешь в код что я кинул для примера - у меня там определено FTD2XX_STATIC
Это не так работает
источник

ПК

Побитый Кирпич... in supapro.cxx
Ты должен библиотеку с этим макросом собрать
источник

ПК

Побитый Кирпич... in supapro.cxx
Вернее библиотека сама должна с ним собираться если ей указать что она статическая
источник

A

Aleksandr in supapro.cxx
Ilia Zviagin
Статическая библиотека ничего не экспортирует, так что ты ошибся.
Могу скинуть проект со всеми зависимостями, если есть под руками MSVC. Но после компиляции кода что я скинул выше - я вижу
источник

IZ

Ilia Zviagin in supapro.cxx
Побитый Кирпич
Да, в режиме "статическая библиотека" она не должна экспортировать ничего
Библиотека сама вообще не может ничего экспортировать
источник

A

Aleksandr in supapro.cxx
Aleksandr
Могу скинуть проект со всеми зависимостями, если есть под руками MSVC. Но после компиляции кода что я скинул выше - я вижу
источник

A

Aleksandr in supapro.cxx
Побитый Кирпич
Ты должен библиотеку с этим макросом собрать
у меня нет ее исходников. она поставляется в виде нескольких бинарей и хедера
источник

ПК

Побитый Кирпич... in supapro.cxx
Aleksandr
у меня нет ее исходников. она поставляется в виде нескольких бинарей и хедера
Каких бинарей?
источник

IZ

Ilia Zviagin in supapro.cxx
Aleksandr
у меня нет ее исходников. она поставляется в виде нескольких бинарей и хедера
Хедер покажи
источник

IZ

Ilia Zviagin in supapro.cxx
Побитый Кирпич
Каких бинарей?
+
источник

IZ

Ilia Zviagin in supapro.cxx
Aleksandr
у меня нет ее исходников. она поставляется в виде нескольких бинарей и хедера
Я думаю, ты линкуешь .lib , которая является библиотекой импорта динамической библиотеки.
А не статической
источник

A

Aleksandr in supapro.cxx
Нет, линкую lib для статической линковки
источник

ПК

Побитый Кирпич... in supapro.cxx
Aleksandr
Нет, линкую lib для статической линковки
Ты уверен что это статическая библиотека?
источник

A

Aleksandr in supapro.cxx
источник

A

Aleksandr in supapro.cxx
Вот ссылка. Да, уверен. В секции импорта ничего касательно ftd не появляется
источник

A

Aleksandr in supapro.cxx
А вот в экспорте - куча лишнего
источник