![]() |
|
|
![]()
|
|
| W03L |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 8.2.2007 Репутация: нет Всего: нет |
Привет.
Проблемка такая: создал свой модуль, кусок кода: my.h #ifndef myH #define myH #include <SysUtils.hpp> //--------------------------------------------------------------------------- void f_msg(AnsiString mess,char kind,HWND h=NULL,AnsiString cap="Ошибка данных"); //--------------------------------------------------------------------------- #endif my.cpp #pragma hdrstop #include "my.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- void f_msg(AnsiString mess,char kind,HWND h,AnsiString cap) { UINT mt=0; if (kind=='e') mt=MB_ICONERROR; else if (kind=='w') mt=MB_ICONWARNING; else if (kind=='i') mt=MB_ICONINFORMATION; MessageBox(h,mess.c_str(),cap.c_str(),mt); } //--------------------------------------------------------------------------- Скопировал это в папку builderа Borland\CBuilder6\Include\. Создал новое приложение и там поставил #include <my.h> При запуске он почему-то не находит тело функции f_msg пишет [Linker Error] Unresolved external 'f_msg... хотя компиляция проходит нормально. Подскажите как сделать чтобы можно было юзать MY.H в стандартном пути #include <>? |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 4 Всего: 162 |
эх... это проблема неподключения .cpp - файла. Если бы оно не увидело .h-файл, компилятор ругнулся бы значительно раньше. Добавь .cpp - файл в проект. И .cpp-файлы никто в Include, а тем более системные, не ложит. |
|||
|
||||
| vmark |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.2.2007 Репутация: нет Всего: нет |
хедер и так прога найдет , она у тебя не видет срр .... добавь его в проект и будет счастье ...
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 18 Всего: 154 |
Перемести тело ф-ии в заголовочный файл
зы как вариант, но такая практика - полнейшая дурь. Свой код не стоит смешивать со стандартными библиотеками, лучше положить в папку с проектом, а то потом запаришся искать, и при переносе проекта на другой комп кой-чего будет нехватать. А реализация кода ф-ии в заголовочном файле повлечёт излишние перекомпиляции при изменении кода. |
|||
|
||||
| W03L |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 8.2.2007 Репутация: нет Всего: нет |
Просто у меня многие проекты будут использовать этот модуль. Если хранить его в каждом - это занимает место и если я чего-нибудь изменю в my.h или my.cpp, то везде надо менять, а так он будет в одном месте со стандартным путём.
Его надо как-то зарегестрировать в билдере (типа компоненты), но как я не знаю :( Это сообщение отредактировал(а) W03L - 4.9.2007, 04:03 |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 18 Всего: 154 |
Создай статическую библиотеку, и линкуй ко всем проектам.
6-й билдер создаёт в папке Projects папки Lib и Bpl. Подразумевается, что либы туда будут ложить. PS в vcl есть стандартные диалоги, которые делают примерно то-же что и твой код. PPS Dialogs.hpp |
|||
|
||||
| W03L |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 8.2.2007 Репутация: нет Всего: нет |
Сенкс, статическая библиотека нормально работает
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |