Dize türüyle ilgili DLL Derleme Hatası

3B C ++ 'u DLL'leri yazmak için nasıl kullanacağımı ve bu eğitim videosunu takip ediyorum ben başladım. Tam olarak takip ediyorum, kodum:

defFile.def:

LIBRARY "square"
EXPORTS 
square

funct.cpp:

double __stdcall square(double & x) 
{
    return x*x;
}

VSE 2010 kullanarak Derlemeye çalıştığımda aşağıdaki hatayı alıyorum:

1>------ Build started: Project: square, Configuration: Debug Win32 ------
1>  defFile.def
1>c:\documents and settings\~\my documents\visual studio 2010\projects\square\square\deffile.def(2): error C2143: syntax error : missing ';' before 'string'
1>c:\documents and settings\~\my documents\visual studio 2010\projects\square\square\deffile.def(2): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I've tried adding #include at the top of defFile.def, but still get the same error. I'm sure this is something really simple.

0

2 cevap

.Def dosyasını projenize eklediniz. Bir kaynak kod dosyası gibi derleniyor. Bu işe yaramaz.

Projenizi sağ tıklatın, Özellikler, Bağlayıcı, Giriş. Modül Tanım Dosyası ayarını "defFile.def" olarak ayarlayın.

0
katma
C ++ 'a yeniyken, Ctrl + F7 kullanmam gerektiğinde, Build F7'yi kullandım. Bu derlenmiş, ancak yine de DLL inşa etmedi. DefFile ve "Project'ten Hariç Tut" butonuna sağ tıkladım.
katma yazar Alec, kaynak

Tanım dosyası C ++ değil. namespace std; uygulamasını oradan kaldırın. Ayrıca, derlemek zorunda değilsiniz, kullanmak istiyorsanız, proje için bağlayıcı ayarlarını değiştirmeniz gerekir.

0
katma
@Alec: Düzenlemeye bak. Derlemek zorunda değilsin.
katma yazar Cat Plus Plus, kaynak
@Alec: .def dosyasını derleme. Bu bir kaynak dosyası değil.
katma yazar Cat Plus Plus, kaynak
Üzgünüz, başka bir Yığın Taşması sorusunda önerildi ve sorunumu çözmek için bunu kullanmaya çalışıyordu. Kaldırıldığında aynı hatayı alıyorum. Orijinal sorunu olduğu gibi yansıtacak şekilde soruyu güncelledim.
katma yazar Alec, kaynak
Modül Tanım Dosyası ayarına defFile.def eklemek mi istiyorsunuz? Onu yaptım. Ve benim anlayış benim derlenmiş bir DLL dosyası yapmak için proje derlemek/inşa etmek zorunda kalacağım?
katma yazar Alec, kaynak