سلام
چطوری میشه از کلاسی که در یک Dll سی پلاس پلاس نوشتم و در سی شارپ import کردم، شی درست کنم و پس از انجام محاسبات شی رو به سی شارپ بدم و اطلاعات رو استفاده کنم؟
ممنون
سلام
چطوری میشه از کلاسی که در یک Dll سی پلاس پلاس نوشتم و در سی شارپ import کردم، شی درست کنم و پس از انجام محاسبات شی رو به سی شارپ بدم و اطلاعات رو استفاده کنم؟
ممنون
جست و جو کنید:
swig
روشهای دیگه ای نیست؟
نمیشه از خود کتابخانه های دات نت استفاده کرد؟
سلام
من تونستم فایلهای cxx رو بسازم ولی وقتی پروژه سی شارپ رو ران میکنم، لینکر اررور میده
کدها به صورت زیره:
clss_file.h
class cpp_file
{
public:
cpp_file(void);
~cpp_file(void);
int times2(int arg);
};
class_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;
}
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);
cpp_file.cs
using System;
using System.Runtime.InteropServices;
public class cpp_file {
public static int times2(int arg) {
int ret = cpp_filePINVOKE.times2(arg);
return ret;
}
}
اما این اررور رو میده:
Error 1 error LNK2019: unresolved external symbol "int __cdecl times2(int)" (?times2@@YAHH@Z) referenced in function _CSharp_times2@4
Error 2 error LNK1120: 1 unresolved externals
کار دیگه باید انجام بدم؟
باید چه جوری نصبش کنم؟ من mingw رو نصب کردم.
من دستوری ننوشتم، روی فایل i. کلیک راست کردم و گزینه کامپایل رو زدم. بعد کامپایل شد. در واقع میشه گفت کدی باید mingw ننوشتم.
لطفا راهنمایی کنین
کلاس رو کلا لازم نیست تو سی++ داشته باشی می تونی توابع رو به صورت سی استایل بنویسی بعد تو سی# هر مدلی که خواستی پیداه سازی کنی این طوری راحت تر هم هست البته خود دات نت یه سری صفت ها داره اون رو به ساختار ها بدی خودش توابع عضو و .. رو درست می شناسه . سرچ لطفا .
درضمن کلاس توی دات نت با کلاس توی سی ++ فرق داره .
کلا یا همه رو یا با سی++ بنویس یا سی# اینطوری الکی وقتت میره و کلی هم باگ دستت میاد
ممنون، من طبق چیزی که گفته بود رفتم، ولی این خط رو
gcc -c -fpic example.c example_wrap.c
که تو cmd مینویسم این اررور رو میده:
خط اول رو تونستم اجرا کنمgcc: error: CreateProcess: No such file or directory
ممنون
PATH رو درست تنظیم نکردید.
http://stackoverflow.com/questions/1...e-or-directory
بازم درست نشد، مسیر path رو هم تغییر دادم ولی درست نشد . . .
غلطهC:\MinGw\libexec\gcc\mingw32\4.7.1
درستش اینه:
C:\MinGw
(الان شک کردم که تا کجاش باید باشه ولی فکر میکنم همین باشه)