2013-04-10 15 views
12

"nmake" ile derlerken v110_xp araç setinin (varsayılan "v110" yerine) kullanılmasının bir yolu var mı?VS2012 nmake?

VisualStudio2012 için bir Qt5 kitaplığı derlemeye çalışıyorum ve Windows XP makinelerinde de çalışmam gerekiyor. Ben nmake ile VS2012 kullanarak tüm Qt5 kütüphaneleri derlemek için managet ettik, ama basit test uygulamaları bana "prosedür giriş noktası _except_handler4_common msvcrt.dll dinamik bağlantı kitaplığında bulunamazdı" veren XP makineleri üzerinde çalıştırmak için başarısız. Ben burada bulabilirsiniz arıyordu

+0

Eğer msvcrt.dll bağımlılığı ile biterseniz, makefiles ciddi bir şekilde bir şey var. Onu kullanan son ithalat kütüphanesi 10 yıl önce ortadan kayboldu. Bunun nasıl olabileceğini tahmin etmek çok zor. –

+0

Hans Passant bir yorum için teşekkürler, ancak (sadece bir örnek) resmi Qt's Qt5Core.dll Ole32.dll için bir bağımlılığı vardır ve msvcrt.dll için bir bağımlılığı vardır. Bu açıkça "Bağımlılık Walker" yazılımı kullanılarak görülebilir (http://www.dependencywalker.com/) Bazı deney yapmak ve "v110_xp" araç seti yerine "v110" kullanarak Qt derlemek gerçekten güzel olurdu ... sadece Şimdilik bunu nasıl yapacağımdan emin değilim ve eğer bu mümkün olursa ... – Gediminas

+0

Hala mantıklı değil ve v110_xp kesinlikle bir fark yaratmayacak. Qt5core.dll msvcrt.dll üzerinde bir bağımlılık ile sona erebilir tek yolu mingw ile inşa edildi. –

cevap

5
  1. Düzenleme Makefile'dan. Debug veya Makefile.Release dosya
  2. -D_USING_V110_SDK71_ tanımlar ekle

Örnek:

DEFINES = -D_USING_V110_SDK71_ -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG

İyi şanslar!

2

Yapılandırmayı çalıştırmadan önce mkspecs \ win32-msvc2012 \ qmake.conf dosyasını düzenlemek daha kolaydır. Tanımlar + = hattı ve aşağıdakileri ekleyin Düzenleme:

WIN32 _USING_V110_SDK71_ 

Sen çekin zaman bu değişikliği saklamak ve pop gerekecektir. o make dosyası dokunmak zor olduğunda

1

nmake /E CC="cl /D_USING_V110_SDK71_ /D_WIN32_WINNT=0x0501" /f Makefile.vc

O çok daha kolaydır.