2016-04-01 30 views
1

Visual Studio 2015'te bir C++ projesi derlerken yukarıdaki hatayı alıyorum, ancak 2013'te derleme sırasında sorun yok. Hata, OpenOfice SDK'sindeki bir başlık dosyasından geliyor - snprintf.h.Visual Studio 2015 - hata C2375: 'snprintf': yeniden tanımlama; Farklı bağlantı

__declspec(dllimport) int __cdecl snprintf(char *buffer, size_t count, const char *format, ...); 

Ben VC 2015 zaten snprintf tanımlar çünkü bu olduğuna inanıyorum: Bu hataya neden olan kod çizgidir. See this page for more info

Bu sayfada, bu satırı yorumlamakla aynı olan çözüm benim için işe yaramıyor çünkü projede çok fazla hataya neden oluyor. Ayrıca, Visual Studio 2013'te hiçbir sorunla karşılaşmadığını söylediğim gibi, başka birinin benzer bir sorunla karşılaşıp karşılaşmadığını ve bu hatayı düzeltmenin bir yolunu öğrenmek istiyorum.

Teşekkürler.

+0

Sadece bir şey yapmayan bir kukla snprintf.h sağlayın. Ve derleyici tarafından OpenOffice'den önce bulunur. Tereyağından kıl çeker gibi. –

cevap

3

Bunun için ideal olmayan bir çözüm buldum, ancak Visual Studio 2015'te çözümün hatasız şekilde oluşturulmasına izin veriyor.

Proje özelliklerinde, "Platform Toolset" i, VS 2013'ten (v140_xp sağlar) eski v120_xp'ye ayarladım.

VS 2013'ün yanı sıra VS 2013'ün yüklenmesini gerektirdiğinden ve v140 platform araç setindeki herhangi bir yeni özellikten yararlanamıyorum çünkü bu mükemmel olmaktan çok uzaktır.

0

Bağlantıda verilen yanıt doğru: yeniden tanımlamayı hariç tut (_MSC_VER makrosunu kullanarak). Bu başka hatalara neden olursa, muhtemelen #endif'u unutmuşsunuzdur. Fakat kod veya diğer hataları göstermediğinizden emin olamayız.

İlgili konular