174 / 170 / 19
Регистрация: 31.08.2010
Сообщений: 573
|
|||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||
Компиляция DLL из командной строки14.08.2011, 13:53. Показов 6579. Ответов 5
Метки нет (Все метки)
Здравствуйте!
Пытаюсь скомпилировать библиотеку dll по примеру в книге "С++. Сборник рецептов", но выдается ошибка. Привожу код, выполняемые действия и ошибку: ==== Исходный код ==== george.hpp
$ vcvars32.bat $ cl /c /nologo /EHsc /GR /Zc:forScope /Zc:wchar_t /Fegeorge george.cpp $ cl /c /nologo /EHsc /GR /Zc:forScope /Zc:wchar_t /Feringo ringo.cpp $ cl /c /nologo /EHsc /GR /Zc:forScope /Zc:wchar_t /Fegeorgeringo georgeringo.cpp вот здесь выдает следующую ошибку georgeringo.cpp georgeringo.cpp(5) : warning C4273: georgeringo: несовместимая компоновка dll <path>\georgeringo.hpp(18): см. предыдущее определение "georgeringo" здесь <path> - путь к файлу Объясните что это за ошибка и как с ней бороться
0
|
14.08.2011, 13:53 | |
Ответы с готовыми решениями:
5
Компиляция DLL из командной строки Компиляция срр файла из командной строки Компиляция из командной строки Компиляция из командной строки |
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
14.08.2011, 14:13 | 3 |
ну во-первых это не error - это warning
плюс чтото вы тут наворотили - что куда вы экспортируете, и почему в определении функций нет экспорта?
0
|
174 / 170 / 19
Регистрация: 31.08.2010
Сообщений: 573
|
|||||||||||
14.08.2011, 14:43 [ТС] | 4 | ||||||||||
ничего не мешает. просто хочется разобраться, как все это работает вне студии. зная как это работает в командной строке, можно будет создать makefile либо использовать любую другую среду разработки, например Eclipse, Qt Creator
Плюс к тому c++, в отличии от того же Delphi, который немыслим без своей разработки (хотя и там вероятно можно компилировать с командной строки, но зачем), это прежде всего инструменты командной строки и бесчиленное количество систем сборок и сред разработки Сам не знаю, просто передрал с книги После небольших мучений все получилось. Привожу изменненный код: georgeringo.hpp
$ link /nologo /dll /out:libgeorgeringo.dll /implib:libgeorgeringo.lib george.obj ringo.obj georgeringo.obj
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
14.08.2011, 15:02 | 5 |
ну а как собственно будет с этим работать программа, которая попытается загрузить вашу dll?
0
|
Каратель
|
|
14.08.2011, 16:03 | 6 |
0
|
14.08.2011, 16:03 | |
14.08.2011, 16:03 | |
Помогаю со студенческими работами здесь
6
Компиляция с командной строки Компиляция из командной строки Компиляция программы из командной строки Компиляция программы из командной строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |