неразрешенный внешний символ при связывании библиотеки stati c с Squi sh Coco + Scons + Visual Studio - PullRequest
0 голосов
/ 14 января 2020

Я установил переменные окружения CC, LINK, AR. При связывании stati c библиотек встречается много ошибок, таких как:

XXX.lib (YYY.obj): ошибка LNK2001: неразрешенный внешний символ ___ cs_tb_cqAX5_1FNfXC_1nA5FM_main_AAAA_BBBB_liD * 101 * проблема * 101_ * * __1_100_16 общие библиотеки. Существуют ли специальные настройки для библиотеки stati c с Squi sh Coco? Он работает правильно без Squi sh Coco.

Я использую Squi sh Coco 4.3.3.

Я пытался исключить относительные исходные файлы с помощью -cs-exclude-file- regex = (aa | bb | cc). * Но он не мог правильно прочитать после |, похоже, проблема с Scons?

Есть GENERATE_COVERAGESCANNER_LIBRARY в файлах link.cspro, lib.cspro, cl.cspro, ar.cspro. Это имеет значение? Как их установить?

Это из документа Squi sh Coco:

GENERATE_COVERAGESCANNER_LIBRARY = ⟨YES / NO⟩: если установлено, библиотека CoverageScanner генерируется во время операции связывания. Это следует отключить при создании библиотек stati c.

1 Ответ

0 голосов
/ 21 января 2020

Моя проблема решается с помощью следующих шагов:

  1. поиск файла link.cspro в каталоге% SQUISHCOCO% (их больше одного).

  2. отредактируйте и замените строку:

LIBRARY_PATH_OPTION = / LIBPATH:; - LIBPATH:

до:

LIBRARY_PATH_OPTION = / LIBPATH :; - LIBPATH:; / libpath:; - libpath:

Затем возобновите сборку.

Причина в LINKFLAGS "/ libpath:" используется, однако Froglogi c Squi sh Только ручка Coco "/LIBPATH:".

...