Попытка объединить две статические библиотеки

У меня проблема в том, что я хочу иметь статическую библиотеку своего кода, потому что я часто использую код. Это c ++ (иначе общий доступ был бы другим выбором). Но этот код зависит от других статических библиотек. В связи с этим я дошел до того, что не могу связать статическую библиотеку с другой. я нашел Как объединить два "Арканзас" статические библиотеки в одну. Из-за этого я попробовал тест, но он не работает, и я хочу знать, почему и как сделать это правильно.

У меня есть две статические библиотеки, каждая с заголовком (не связанным, но для реализации), а его источник, имеющий простую функцию, возвращает что-то. Lib1 имеет функцию, lib2 имеет функцию, зависящую от lib1, и мой исполняемый файл 3.exe получает ошибку связывания, если я связываю lib1 и lib2. Функция lib1 не имеет ссылок.
С содержанием ссылки я написал себе пакетный скрипт, который извлекает все объекты библиотеки и быстро добавляет его в выходную библиотеку:

@ECHO OFF

SET ar="C:\Programme\CodeBlocks\MinGW\bin\ar.exe"
FOR %%i IN (%1) DO SET SPath=%%~di%%~pi

cd \
cd D:
cd %SPath%

SET output="%SPath%output.a"del %output%

:top
IF (%1) == () GOTO end

del "%SPath%*.o"ar x %1
ar q %output% *.o

SHIFT
GOTO top

:end

del *.o

ar t %output%

script.bat libtest1.a libtest2.a

Его вывод выглядит надежно:

D:\
D:\CodeBlocks Workspace\lib test\*.o konnte nicht gefunden werden
ar: creating D:\CodeBlocks Workspace\lib test\output.a
main1.o
main2.o

Вместо lib1 и lib2 я связался с выводом, но функция lib1 по-прежнему не указана.

Так что делать ? Я не хочу включать весь код все время.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …