63 / 35 / 25
Регистрация: 17.07.2014
Сообщений: 457
1

Dll не могу вызвать метод

08.07.2016, 14:45. Показов 598. Ответов 0
Метки нет (Все метки)

Решил попробывать написать юнит тест на Visual Studio 2015. Пишу по этой линке:
https://msdn.microsoft.com/en-... 98953.aspx

Проблема: делаю то же самое, создаю тест, включаю dll project в dependency, моя dll работает в CalculatorClient, выдает результат, а тест даже не билдит, пишет unresolved external symbol ... и т.д.

В чем проблема?

dllcalculator.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once
 
#ifndef DLLCALCULATOR_EXPORTS
#define DLLCALCULATOR_API __declspec(dllexport)
#else
#define DLLCALCULATOR_API __declspec(dllimport)
#endif // !DLLCALCULATOR_EXPORTS
 
namespace DllCalculator
{
    class Functions 
    {
    public:
        static DLLCALCULATOR_API double add(double a, double b);
        static DLLCALCULATOR_API double multiply(double a, double b);
    };
}
dllcalculator.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
#include "dllcalculator.h"
 
DLLCALCULATOR_API double DllCalculator::Functions::add(double a, double b)
{
    return a + b;
}
 
DLLCALCULATOR_API double DllCalculator::Functions::multiply(double a, double b)
{
    return a*b;
}
calcucalor client project / main.cpp (работает!)
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include "DllCalculator.h"
 
int main()
{
    double a = 3.5;
    double b = 4;
    std::cout << DllCalculator::Functions::add(a, b) << "\n" << DllCalculator::Functions::multiply(a, b) << "\n";
    system("pause");
}
unittest1.cpp (не работает!)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include "CppUnitTest.h"
#include "dllcalculator.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
 
namespace UnitTest3
{       
    TEST_CLASS(UnitTest1)
    {
    public:
        
        TEST_METHOD(TestMethod1)
        {
            DllCalculator::Calc calc;
            Assert::AreEqual(0.0, calc.add(0.0, 0.0), L"add(0,0)", LINE_INFO()); // unresolved external symbol
        }
 
    };
}
Добавлено через 40 минут
[RESOLVED]

Включил еще DllCalculator.lib файл
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2016, 14:45
Ответы с готовыми решениями:

Не могу вызвать функцию из .dll
Добрый день ... Полазил по форумам и гайдам .... Пишу такой вот header: extern &quot;C++&quot;...

Не могу вызвать метод
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std;...

Не могу вызвать функцию из dll С++ в С# в системе Win 7 64bit, MSVS 2008
Здравствуйте! Уже два дня не могу вызвать функцию из dll C++ в программе, написанная в C#....

Не могу в дочернем классе вызвать protected метод
Всем привет! Начал писать одну программку, и столкнулся со следующей проблемой: у меня пока 2...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2016, 14:45
Помогаю со студенческими работами здесь

Reflection, вызвать метод из отражаемого dll
Доброго времени суток! Лаба по отражению. Лабу написал - дан dll, надо вывести все его типы, их...

Из формы вызвать метод который находится в dll
писал имя.метод, не видит тот файл который нужен, в ссылки добавил проект Нужно вызвать при...

EntryPointNotFoundException при попытке вызвать метод из C++ DLL
Может быть объяснит кто-нибудь почему у меня не получается запустить метод написанный на языке с++...

Не могу вызвать метод
Ребят, приветствую! Хочу реализовать систему вывода комментариев к постам деревом. Вот первый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru