![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| wallstreet |
|
||||||||||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
Добрый день всем.
Господа, помогите разобраться с вопросами. В моем проекте объявление каждой котегории классов находится в своем .h файле, их реализация в .cpp файле, ну и в главном оконном приложении будут жить объекты этих классов. Так вот вопрос в том как лучше настроить взаимосвязь этих файлов всех, как их грамотнее сообрать в кучу? Ну во первых есть у меня ошибка которую не могу понять как решить. Объявление класса в ConnDecl.h
реализация класса в ConnRealization.cpp:
А вот и сама ошибка:
Ну если судить по переводу с ангельского, то ругается компилятор на неразрешенный внешний символ. Могу предположить что компилятор не может или не хочет найти такую функцию в dll откуда он экспортируется? Кстати в примере данная функция объявлялась как
но если я ее объявляю именно таким образом то выскакивает ошибка:
Так же заметил одну примечательную вещь, если описать реализацию не в .cpp а в .h где класс и объявлен, то все компилируется без проблем?!?!?!?! Во вторых я еще не очень понимаю как лучше поступить с включением в файл реализации моих классов хедеры так, что бы они не повторялись. Тут мнения разошлись, мой учебник меня учит делать так:
в то время как в нете все рекомендуют использовать
хотя в примере используется
в MSDN по прагме информацию нашел, но там столько непонятных мне особенностей что хотелось бы услышать оптимальное для меня решение. |
||||||||||||||||
|
|||||||||||||||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 1 Всего: 32 |
По поводу ошибки линкера -- посмотри в своей документации библиотеку, в которой живёт эта функция и подключи её к проекту.
Это правильный, кроссплатформенный вариант Это расширение компилятора Visual C++ и работает только с ним. А это специфичная прагма Borland C++ Builder Это сообщение отредактировал(а) Cheloveck - 3.7.2012, 15:52 -------------------- ![]() |
|||
|
||||
| wallstreet |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
Если не секрет где можно найти эту документацию? у меня visual studio 2010. Поидее это же lib файл должен быть, так? Это сообщение отредактировал(а) wallstreet - 3.7.2012, 17:40 |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 1 Всего: 32 |
wallstreet, я погуглил и понял, что MakeProcInstance принимает коллбек первым параметром, а значит ты сам должен реализовать эту функцию http://www.frontsys.com/DLL/dll00031.htm
-------------------- ![]() |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |