Форум программистов, компьютерный форум CyberForum.ru

Не могу вызвать функцию из .dll - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где находится error()? http://www.cyberforum.ru/cpp-beginners/thread926746.html
Учусь по книге Страуструпа. Я знаю что много чего есть в его заголовочном файле std_lib_facilities.h , но я решил его не использовать. Кто может подсказать где описана функция error() ?
C++ Использовать void из 1.cpp в 2.cpp Допустим, есть функция void Hello(). Она в файле 1.cpp. Мне нужно её использовать в файле 2.cpp, но программа пишет, что идентификатор не определён. Я попробовал в начале 2.cpp написать #include "1.cpp" но после этого стало писать много ошибок error LNK2005. Что делать? http://www.cyberforum.ru/cpp-beginners/thread926735.html
Оператор индексации и присваивания для шаблонного класса Vector C++ C++
Было задание разработать шаблонный класс Vector и к нему перегрузить оператор таким боразом, чтобы он "должен позволять как получить значение элемента так и изменить его. Получение значения должно успешно работать для константных объектов". Просто индексацию я сделал, а вот как реализовать его вместе с присваиванием расчехлить не могу. Помогите неудачнику p.s функции set и get остались от...
Вылетает консольное приложение C++
При написании любой даже самой простой задачи или программы, а также в дальнейшем запуске консольное приложение(командная строка, программа и т.д.) просто включается/вылетает спустя 1сек.! сам .exe создается, а при нажатии "Debug (F5)" происходит нижеизложенная ошибка: Может в коде ошибка, хотя я пробовал разные! К примеру этот простейший он тоже принимает за ошибку #include <iostream> using...
C++ Работа с Итераторами http://www.cyberforum.ru/cpp-beginners/thread926666.html
Здравствуйте, у меня возникла следующая проблема. У меня есть list<pair<int, int> > snake; Мне надо, чтобы следующий элемент списка принимал значение нынешнего. Может кто-то пожалуйста написать цикл с использованием итераторов. ( Получается что, значение первого элемента списка не изменяется, а все последующие элементы принимают значения элементов перед ними. )
C++ Sink Здорова! Непонятная задачка: "Напишите итератор вывода, Sink, который в действительности ничего никуда не пишет. Где такой Sink может быть полезен? " Что такое итератор вывода? Я от знаю два вида итераторов константные и не константные, например для vector там всего два итератора константные и не константные, ну есть еще обратные тоже константные и не константные, а тут шото за фигня итератор... подробнее

Показать сообщение отдельно
NativeLand
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 46
22.07.2013, 17:03  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
Надо писать extern "C"

Добавлено через 4 минуты
Еще необходимо указать calling convention: __stdcall

Добавлено через 25 минут
Подправил но теперь не могу собрать библиотеку...:
вот header:
C++
1
2
3
4
5
6
7
8
#ifdef __cplusplus
extern "C" {
#endif
__declspec(dllexport) int __stdcall function (int,int);
__declspec(dllexport) double __stdcall function2(double,double);
#ifdef __cplusplus
}
#endif
вот сам .cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
#include "mbdll.h"
 
int __stdcall function(int a, int b)
{
    return a*b;
}
 
double __stdcall function2(double a,double b)
{
    return a/b;
}
Ошибки:
1>mbdll.exp : error LNK2001: unresolved external symbol "int __cdecl function(int,int)" (?function@@YAHHH@Z)
1>mbdll.exp : error LNK2001: unresolved external symbol "double __cdecl function2(double,double)" (?function2@@YANNN@Z)
1>C:\Users\emm\Desktop\mbdll\Debug\mbdll.dll : fatal error LNK1120: 2 unresolved externals

В def файле ничего не менял.... В чем трабл теперь?...

П.С.: таблица экспорта:
?function@@YAHHH@Z
?function2@@YANNN@Z
function
function2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru