c++ - AppVeyor के तहत 64-बिट परीक्षण नहीं कर सकता?



visual-studio msbuild (1)

हमारी विजुअल स्टूडियो समाधान फ़ाइल में डीबग, रिलीज कॉन्फ़िगरेशन दोनों में विन् 32, x 64 शामिल हैं AppVeyor सभी 64-बिट बिल्डों पर विफल हो रहा है।

AppVeyor कॉन्फ़िगरेशन फ़ाइल नीचे स्थित है। फ़ाइल न्यूनतम है और पार्स करने में आसान होना चाहिए।

प्ले में दो प्रोजेक्ट फाइलें हैं एक cryptlib.vcxproj और यह एक पुस्तकालय बनाता है दूसरा cryptest.vcxproj और यह पुस्तकालय का अभ्यास करता है फ़ाइलें भयानक हैं लेकिन वे काम करती हैं:

हमारे ऐपिवेयर बिल्ड चरण में बस एमएसब्लुल्ड के साथ परियोजना का निर्माण नीचे मेरे परीक्षण क्लोन से Noloader पर है | GitHub

test_script:

- cmd: >-
    msbuild /t:Build cryptlib.vcxproj
    msbuild /t:Build cryptest.vcxproj
    msbuild /t:CopyCryptestToRoot cryptest.vcxproj
    cryptest.exe v
    cryptest.exe tv all

हमारा 64-बिट बिल्ड अपवीयर पर विफल रहता है हम दोनों x64 और Win64 की कोशिश की नोलोदियर पर मेरे परीक्षण क्लोन में परिणाम उपलब्ध हैं I AppVeyor नीचे एक विफल बिल्ड की पूंछ है।

  ...
  validat0.cpp
  validat1.cpp
  validat2.cpp
  validat3.cpp
  Generating Code...
LINK : fatal error LNK1104: cannot open file 'Ws2_32.lib'
[C:\projects\cryptopp\cryptest.vcxproj]

चीजें अच्छी तरह से स्थानीय रूप से MSBuild के साथ काम करती हैं समस्या की खोज में कुछ हिट मिलते हैं। शीर्ष हिट यह सवाल है

हमें लगता है कि यह संबंधित हो सकता है: ऐप्वेयर बनाने से पहले VCUpgrade को कैसे चलाएं? हमें जो बात समझ में नहीं आ रही है, वह जब उन्नयन की आवश्यकता होती है तब तुरंत MSBuild विफल हो जाता है चूंकि इसकी असफलता नहीं है, हम नहीं जानते कि क्या हो रहा है।

समस्या क्या है और हम इसे कैसे तय करते हैं?


एक्सपेरॉयर एक्सएमएल एक्सएमएल छवियों के लिए x86 / x64 का इस्तेमाल करने लगता है (और, मैं मानता हूं, वी.एस. बिल्ड की छवियों के लिए 'x86' को 'Win32' में तब्दील कर सकता है) तो मैं उन पर रहूँगा, और फिर प्लेटफॉर्म / कॉन्फ़िगरेशन को स्पष्ट रूप से पास कर दूंगा। मुझे उस के साथ कभी समस्या नहीं हुई है, और मैंने क्रिप्टॉप को काट दिया और सत्यापित किया कि यह ठीक है वहाँ भी है।

configuration:

- Debug
- Release

platform:

- x86
- x64

build_script:

- cmd: >-

   msbuild cryptlib.vcxproj /p:platform=%platform%;configuration=%configuration%

   msbuild cryptest.vcxproj /p:platform=%platform%;configuration=%configuration%




appveyor