Как я могу построить этот простой проект C ++ / SWIG / C # в Visual Studio 2010?

Мне нужна помощь в настройке простого проекта CIG / C # SWIG. Я с трудом собираю проект C ++, который использует привязки SWIG. Я использую Visual Studio 2010 и самую последнюю версию SWIG.

Мой код просто:

cpp_file.h:

#pragma once
class cpp_file
{
public:
    cpp_file(void);
    ~cpp_file(void);

    int times2(int arg);
};

cpp_file.cpp

#include "cpp_file.h"
cpp_file::cpp_file(void)
{
}
cpp_file::~cpp_file(void)
{
}
int cpp_file::times2(int arg)
{
return arg * 2;
}

И мой файл интерфейса SWIG:

cpp_file.i

/* cpp_file.i */
%module cpp_file
%{
/* Put header files here or function declarations like below */
extern int times2(int arg);
%}
extern int times2(int arg);

Я могу скомпилировать этот проект нормально. Затем я запускаю команду SWIG для генерации оболочки:

swig -csharp "C:/pathToFile/cpp_file.i"

Я не знаю, что делать на этом этапе. Я не могу найти учебники или документацию, объясняющую, что делать в Visual Studio 2010.

Когда я добавляю файл * cpp_file_wrap.c *, который генерирует SWIG, в мой проект Visual Studio 2010 и пытаюсь создать проект, я получаю две ошибки компоновщика.

ошибка LNK1120: 1 неразрешенная внешностьошибка LNK2001: неразрешенный внешний символ _times2

Первое сообщение об ошибке указывает на мой файл DLL. Вторая ошибка указывает на некоторый объектный файл (* .obj). Символ, который упоминается в сообщении об ошибке "_times2", не найден в моем проекте.

Как я могу двигаться дальше с моим простым проектом? Есть какое-то учебное пособие или документация, которая объясняет этот процесс шаг за шагом? Я не могу найти ничего, что включает в себя C ++ с SWIG, C #, Visual Studio 2010 и .Net v4.0.

Ответы на вопрос(2)

Ваш ответ на вопрос