19 / 19 / 14
Регистрация: 06.08.2009
Сообщений: 524
|
|
1 | |
Посоветуйте хорошую книгу по линковщику C++16.01.2017, 20:48. Показов 798. Ответов 10
Метки нет Все метки)
(
Посоветуете, пожалуйста, хорошую книгу из котором можно будет понять, как работать с линковщиком C++ и научиться отглючивать непонятные ошибки, которые вылазят на этапе линковки.
0
|
|
16.01.2017, 20:48 | |
Ответы с готовыми решениями:
10
Посоветуйте хорошую книгу по С++ Посоветуйте хорошую книгу по с++. Посоветуйте хорошую книгу по С++ Посоветуйте хорошую книгу по c++ с задачами |
![]() 8738 / 4316 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.01.2017, 21:09 | 3 |
0
|
17.01.2017, 02:10 | 5 |
2
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
17.01.2017, 11:51 | 6 |
0
|
Ушел с форума
![]() |
|
17.01.2017, 12:16 | 7 |
О каком конкретно линковщике речь? Если Microsoft Linker, который входит в Visual Studio / SDK / WDK,
тогда посоветую следующее: Во-первых, когда встречаешь в очередной раз ошибку, копи-пасти ее текст (или номер) в Гугл и смотри, что тебе он ответит. В большинстве случаев ты сразу будешь попадать или на MSDN, или в блоги TechNet, или в какую-нибудь базу знаний Microsoft, где все человеческим языком расписано, почему данная ошибка возникает и как ее исправить. F1 прямо из "Студии" тоже работает, как правило. Во-вторых, изучи внимательно все опции компоновщика, чтобы знать его возможности, а они местами достаточно интересные (есть и недокументированные, но очень полезные вещи, о которых многие программисты вообще не знают): Linker Options (VS 2015) https://msdn.microsoft.com/en-... zbyt4.aspx
1
|
19 / 19 / 14
Регистрация: 06.08.2009
Сообщений: 524
|
|
17.01.2017, 20:58 [ТС] | 8 |
Убежденный,
Ну вот я скопипастил ошибку Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _cvLoadImage в функции _MyProc D:\Самообразование\C++\DllDemo\MyLib\MyLib\MyLib.obj MyLib Которая возникает, когда я попытался в dll-ке скомпилировать пример OpenCV, который отлично компилировался в консольном приложении, хотя в проекте, который компилиться в ddl-ку, я сделал все те же настройки для OpenCV, что и в случае консольного приложения. Нашел страницу msdn, но что там написано, вообще мне ни о чем не говорит. Ну вот например, первая причина:
0
|
18483 / 9636 / 2360
Регистрация: 30.01.2014
Сообщений: 16,892
|
|
17.01.2017, 21:11 | 10 |
Еще раз все проверить.
Вот мануал в помощь. Очень часто причина в банальной невнимательности. А вообще, на мой взгляд "отглючивать непонятные ошибки" никакая книга не научит, только опыт и еще раз опыт. Если реальных проектов нет, где можно было бы набить руку, то можно компилировать что-нибудь опенсорное в каких-нибудь нестандартных условиях. Ну, например, проект glib версии 1.x собрать в Windows. Или Qt 5 собрать в Linux на базе ядра 2.4.x. Незабываемый опыт и ощущения гарантированы.
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
17.01.2017, 21:26 | 11 |
Вообще у линкера бывает два типа ошибок: undefined symbol и duplicate symbol. первая говорит о том что не добавлена какая то библиотека/сырец в проект вторая что в двух библиотеках/сырцах имеются символы с одинаковым именем, т.е. либо одинаково названные переменные либо функции с совпадающими именами и сигнатурой либо совпало название переменной и функции.
Других ошибок ни у микрософтовского ни у борландовского ни у какого другого линкера не видел. Кроме этих у линкера других ошибок в принципе быть и не может, во всяком случае при условии что все lib и obj в проекте читабельны а результирующий dll или exe писабелен.
0
|
17.01.2017, 21:26 | |
17.01.2017, 21:26 | |
Помогаю со студенческими работами здесь
11
Посоветуйте хорошую книгу по Visual studio c++ Посоветуйте хорошую книгу по параллельному программированию на C++ Посоветуйте хорошую книгу по созданию оконных приложений Ищу хорошую книгу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |