Мне нужна помощь в настройке простого проекта SWIG на C ++ / C #.Я с трудом собираю проект 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
Первое сообщение об ошибке указываетмой файл длл.Вторая ошибка указывает на некоторый объектный файл (* .obj).Символ, который упоминается в сообщении об ошибке «_times2», не найден в моем проекте.
Как я могу двигаться дальше с моим простым проектом?Есть какое-то учебное пособие или документация, которая объясняет этот процесс шаг за шагом?Я не могу найти ничего, что включает в себя C ++ с SWIG, C #, Visual Studio 2010 и .Net v4.0.