Влияние «Игнорировать конкретную библиотеку» в Visual Studio - PullRequest
1 голос
/ 22 августа 2009

Я работаю с API, который поставляется клиентам в виде статической библиотеки. Эта библиотека, в свою очередь, использует другую стороннюю библиотеку, созданную с помощью компилятора Intel. Эта библиотека имеет зависимости от некоторых библиотек Intel, которыми я не обладаю. Когда я создаю тестовое приложение, я обхожу это, указывая эти библиотеки в «Игнорировать определенную библиотеку» в Visual Studio. Что на самом деле здесь происходит? Где VS получает эти символы вместо этого? Также

Будет ли при этом удаляться оптимизация, предназначенная для компилятора Intel?

Если бы вместо этого я получил эти библиотеки, это привело бы к ограничениям процессора для исполняемого файла, связанного с моей библиотекой?

1 Ответ

1 голос
/ 22 августа 2009

Чтобы процитировать документацию VS, эта опция ...

... позволяет удалить указанную библиотеку или библиотеки из списка библиотек ищет при разрешении внешнего ссылка. Линкер разрешает ссылки на внешние определения искать сначала в библиотеках, которые вы явно указать, то по умолчанию библиотеки, указанные с / DEFAULTLIB, а затем в библиотеки по умолчанию, названные в файлах .obj.

т.е. он говорит компоновщику не учитывать указанные библиотеки при разрешении символов. Пока компоновщик может находить символы в других библиотеках, ссылка не должна выходить из строя.

Если у вас нет библиотек, то я удивлен, что вам нужно что-то указывать - я не понимаю, как это повлияет.

Если вы хотите увидеть, что на самом деле делает компоновщик, установите для параметра «Показать ход выполнения» значение / VERBOSE и выполните повторную связь.

...