Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2011, 06:48   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию VC++. Подключить DLL к проекту.

Сейчас разобрался как сделать DLL... Не получается вызвать функцию из неё, а точнее даже её подключить к другому проекту.
Вот код основной проги:
Код:
#include "stdafx.h"
#include "DLLtst.h"

int _tmain(int argc, _TCHAR* argv[])
{
	Test();
	return 0;
}
Сначала ругался, что h-файла нет в директории. Плюнул, скопировал тот сюда (как сделать без копирования?). Теперь говорит, что не найдена функция Test(). Прочитал, что нужно что-то сделать с lib-файлом. DLL кинул в debug к предполагаемому появлению ЕХЕ, а lib-файл кидал и в Debug, и рядом с основным cpp. Говорит, что не видит функцию Test()
TwiX вне форума Ответить с цитированием
Старый 19.06.2011, 10:16   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,003
По умолчанию

1)раз у вас хидер в кавычках то он должен лежать рядом с сорцом в котором такой инклюд.
2)тут правильнее использовать решения(набор проектов)
3)в проект exe добавляете вашу dll, и настраиваете что этот файл надо просто скопировать в целевую директорию(к exe)
4)lib файл надо добавить в список используемых библиотек в настройках
единственное не уверен найдет ли он её в целевой папке dll.
ну думаю, можно попробовать добавить её во второй проект как элемент библиотека.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 19.06.2011 в 10:31.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.06.2011, 18:17   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

1)Т.е. тут только один выход (чтоб файл не копировать)? Все файлы с кодом должны лежать в одной папке?
2)Вроде как они уже в одном решении...
3)Не понял =(
4)Как? Покапался в настройках проекта DLL - Там нашёл Linker->Additional Library irectories
Туда добавил папку, в котором лежит lib-файл... Всё равно ругается что не найдена такая функция

UPD: фуф. В инпуте надо ещё сам lib-файл указать. Наконец-то заработало.
Осталось узнать, как не копировать заголовочный файл =\

UPD2: Разобрался со всем) Для подключения h-файла использовал "..\Dir\asd.h"

Последний раз редактировалось TwiX; 19.06.2011 в 20:23.
TwiX вне форума Ответить с цитированием
Старый 20.06.2011, 00:45   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,003
По умолчанию

1)попробуйте относительные пути, ..\dll\dllheader.h
3)на проекте правой кнопкой, добавить существующий файл/элемент, потом на нем свойства(на элементе новом) в действиях выбрать "скопировать в целевую директорию" или около того.

лучше пункт 3, так как тогда длл отдельно и exe отдельно.

Цитата:
UPD2: Разобрался со всем) Для подключения h-файла использовал "..\Dir\asd.h"
все равно ответить решил
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.06.2011, 01:24   #5
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

АаАаа
Совсем запутался. К чему вообще относится пункт 3?)) Тыкнул на основном проекте добавить сущ. эл-т - там нигде не нашёл скопировать в целевую директорию
А чем вообще плохо, что длл и ехе лежат в одной папке?
TwiX вне форума Ответить с цитированием
Старый 20.06.2011, 01:46   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,003
По умолчанию

сначало добавить элемент, потом уже в обозревателе решения на этом самом элементе в свойствах меняй.

я не против чтоб лежали вместе, но я считаю что целевая директория должна быть у каждого своя.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++ Как подключить dll? PMike Visual C++ 7 30.06.2020 07:25
Как подключить lib файл к проекту в C++ Builder Hacker_ Общие вопросы C/C++ 0 28.10.2009 12:41
Как подключить к проекту модуль ras.pas Михаил Юрьевич Общие вопросы Delphi 3 14.03.2009 15:45
как подключить новый модуль без формы к проекту?? Yala Общие вопросы Delphi 1 04.05.2008 08:01
с помощью чего лучше подключить бд к проекту? Алёна БД в Delphi 2 10.01.2008 20:01