Visual Studio rc.exe के कारण नहीं बन सकता है


128

मैंने ऑनलाइन खोज की है और ऐसा कुछ भी नहीं पाया जो मेरे मुद्दे से मिलता-जुलता हो।

मैंने एक खाली C ++ प्रोजेक्ट बनाया और एक रिटर्न के साथ एक main.cpp जोड़ा और मैं इसे बनाने के लिए नहीं मिल सकता। यह संदेश मुझे प्राप्त हुआ है:

1>------ Build started: Project: Project1, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1158: cannot run 'rc.exe'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

क्या वीएस २०१ के भीतर कहीं ऐसा है जहाँ मैं निर्दिष्ट कर सकता हूँ कि यह निष्पादन योग्य कहाँ है? मैंने विंडोज 7 एसडीके स्थापित किया है और मेरे पास यह निष्पादन योग्य है:

C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin

मैं कोड से आता हूं :: किसी भी परेशानी के बिना ब्लॉकिंग और mingw-gcc का उपयोग करना, लेकिन हाल ही में मुझे प्रबंधित कार्यान्वयन के लिए VS की आवश्यकता है, इसलिए मुझे आशा है कि किसी को एक विचार है।


FYI करें - विजुअल स्टूडियो 2013 में टूट गया व्यावसायिक भी :(
gbjbaanb

लेकिन ऐसा लगता है कि यह मुद्दा है एसडीके डायर (या विंडोज किट्स, जो भी उन्हें इस हफ्ते बुला रहे हैं) का रास्ता है। $ (WindowsSdkDir) संस्करण WindowsKits निर्देशिका के लिए सेट नहीं है, इसके बजाय WindowsSDK dir पर सेट किया गया है जिसमें 'न्यूनतम' सामग्री है।
gbjbaanb 15

3
VS2017 के कारण समान VS2015 मुद्दों के लिए अच्छा समाधान: stackoverflow.com/a/45319119/508431
यशायाह नॉर्टन

1
इस लेख को अवश्य पढ़ें QA stackoverflow.com/questions/43847542
Fattie

जवाबों:


242

गूगल पर इस मिले ... मुझे लगता है यह होगा कि आपके मामले में आप कॉपी होगा rc.exeऔर rcdll.dllकरने के लिए visual studio 2012\vc\binया जहाँ भी आप यह स्थापित किया है:

भाग 2: FIX लिंक: fatal error LNK1158: cannot run ‘rc.exe’

इसे अपने पाथ पर्यावरण चर में जोड़ें:

C: \ Program Files (x86) \ Windows Kits \ 8.0 \ bin \ x86

इन फ़ाइलों की प्रतिलिपि बनाएँ:

rc.exe
rcdll.dll

से

C: \ Program Files (x86) \ Windows Kits \ 8.0 \ bin \ x86

सेवा

C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ VC \ बिन

या मैंने यह भी पाया:
Microsoft ने अपने MSVT पैकेज से कुछ चीजें छोड़ दीं। चूंकि कोई नहीं जानता कि क्या वे गलती से या लाइसेंस कारणों से छोड़ दिए गए थे, एमएसवीसी के साथ कोई भी उन्हें बाहर देने में दिलचस्पी नहीं रखता है। कुछ Google खोज कुछ मुश्किल स्रोतों को बदल देते हैं। सौभाग्य से, माइक्रोसॉफ्ट ने आखिरकार इस समस्या को हल कर दिया है और कई और अधिक।

http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing

http://msdn.microsoft.com/vstudio/express/support/install/

MSVT लापता फ़ाइलों की एक अच्छी मात्रा में हैं, लेकिन लापता SDK फाइलें नहीं हैं।

और यह:
मेरे पास एक ही समस्या थी जिसे मैंने ऐसा करके हल किया:

  1. Microsoft .Net फ्रेमवर्क 2.0 को स्थापित करना
  2. .NET कंपाइलर फ़ाइलों का पथ जोड़ना (मेरे लिए "C: \ WINDOWS \ Microsoft.NET \ फ्रेमवर्क \ v2.0.50727") ग्लोबल कंपाइलर सेटिंग्स> प्रोग्राम्स> कोड के भीतर अतिरिक्त पथ :: ब्लॉक।

अब मैं त्रुटियों के बिना संसाधन फ़ाइलों का निर्माण और लिंक कर सकता हूं।


6
धन्यवाद, यह एसडीके बिन से वीएस बिन के लिए आरसी निष्पादन की नकल करने का एक सरल तरीका था।
पैट्रिक .E

खैर, इस जवाब में से अधिकांश उद्धरण थे ... तो बस स्पष्ट करने के लिए "मुझे वही समस्या थी जो मैंने ऐसा करके हल किया:" मैं नहीं हूं, लेकिन कुछ मुझे पोस्ट किया गया
कैट कॉक्स

1
प्रश्न: आप x64 rc.exe और rcdll.dll फ़ाइलों का उपयोग क्यों करते हैं, बजाय x64 संस्करणों के?
कार्ल

1
ठीक है, मैंने सिर्फ उन उत्तरों को कॉपी और पेस्ट किया जो मुझे मिले ... लेकिन आप x86 का उपयोग एक 32 बिट इनस्टॉल (जो कि आपके 64 बिट सिस्टम पर भी हो सकता है) का उपयोग करेंगे और आप 64 बिट इंस्टाल पर x64 का उपयोग करेंगे ... अनुमान करें इस पर निर्भर करता है कि फ़ाइल का कौन सा संस्करण कहता है कि आपके पास है
कैट कॉक्स

2
मैं C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64कमांड चला रहा हूं : copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rc.exe"और copy "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\rcdll.dll"विजुअल स्टूडियो 2015 में इसे ठीक करने के लिए
जरी तुर्किया

61

हम इस मुद्दे को अपने CMake / विजुअल स्टूडियो 2015 के साथ बनाते हैं, मशीन पर VS2017 स्थापित करने के बाद भी। हमारे मामले में सही समाधान विंडो किट संस्करण (8.1) को विज़ुअल स्टूडियो कमांड प्रॉम्प्ट में निर्दिष्ट करना है - अन्यथा आपको डिफ़ॉल्ट रूप से विंडोज 10 किट मिलता है जिसमें बिन निर्देशिका में rc.exe शामिल नहीं है।

उदा। स्टार्ट मेन्यू-> विजुअल स्टूडियो 2015-> वीएस २०१५ एक्स ६४ नेटिव टूल कमांड प्रॉम्प्ट

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 8.1

अंत में 8.1 विकल्प पर ध्यान दें


5
मुझे लगता है कि इस समस्या को हल करने का यह सही तरीका है।
jagttt

2
हालांकि मैं एक ही स्थिति में हूं (VS10 के साथ Win10 और VS2017 भी स्थापित), यह मेरे लिए काम नहीं किया। केवल एक चीज जो मेरे लिए तय की गई थी, वह था "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin" (पिछले SDK संस्करण को rc.exe शामिल करने के लिए) को PATH में जोड़ना!
Scylardor

@ साइसिलार्ड - जिस पथ का आपने उपयोग किया है वह 7.1 एसडीके के लिए था। क्या आपके पास C: \ Program Files (x86) \ Microsoft SDKs \ Windows के तहत 8.1 एसडीके स्थापित है? आपके मामले में अंत में 7.1 के साथ एक ही कमांड का उपयोग करना संभव हो सकता है या वैकल्पिक रूप से आपको 8.1 एसडीके स्थापित करने की आवश्यकता हो सकती है।
15

मैंने एक बैच फ़ाइल बनाई call C:\\(....)\vcvarsall.bat" amd64 8.1और start cmake-gui, एक आकर्षण की तरह काम करता है
Marius

धन्यवाद, एक ही सेटअप था (साइड-बाय-साइड VS) और यह फाइलों की नकल करने की तुलना में बहुत साफ है!
ई। मोफत

32

मैंने जो पाया है, अगर आपके पास एक विंडोज़ 7 ओएस है, तो निम्न चरणों को करने से समस्या ठीक हो जाएगी:

1) C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin पर जाएं

2) फिर इस फ़ाइल से RC.exe और RcDll की प्रतिलिपि बनाएँ

3) C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin पर जाएं और उन दो फाइलों को पेस्ट करें जिन्हें आपने कॉपी किया है।

मुझे भी यही समस्या थी, और उपरोक्त पोस्ट किए गए समाधान से काम नहीं चला। मेरा समाधान इससे प्राप्त हुआ था, और यह मेरे लिए काम करता था, अगर ऊपर वाले काम नहीं करते हैं तो आप इसे एक कोशिश दे सकते हैं।


4
Baffingly, इसने मेरे लिए भी काम किया, v7.1A \ Bin से Microsoft Visual Studio 14.0 \ VC \ bin
escapecharacter

यह मेरे लिए विंडोज सर्वर 2012 पर वीएस 2017 के साथ वीएस 2015 के साथ काम नहीं कर रहा था।
iLikeDirt

18

यह rc.exe त्रुटि तब हो सकती है यदि Visual C ++ कंपाइलर और Windows 10 SDK संस्करण समान Visual Studio वर्ष के अनुरूप नहीं हैं। सामान्य तौर पर, समाधान यह सुनिश्चित करना है कि आपके पास आपके सिस्टम पर है, और आपके द्वारा उपयोग किए जा रहे दृश्य स्टूडियो वर्ष के लिए संकलन, वीसी ++ और विंडोज एसडीके में उपयोग कर रहे हैं।

उदाहरण के लिए, यदि आपके पास Visual Studio 2017 या 2019 है, और आपने अपने 2015 Windows SDK को स्थापित करने का चयन किए बिना बिल्ड टूल 2015 स्थापित किया है (डिफ़ॉल्ट इंस्टॉलेशन इसे स्थापित नहीं करता है!), और इसे संकलित करने के लिए उपयोग करने का प्रयास कर रहे हैं, तो आप इसमें भाग ले सकते हैं। यह समस्या।

मेरे मामले में, मेरे पास पहले से ही विजुअल स्टूडियो 2017 था। जब मैंने एक पायथन लाइब्रेरी (या शायद किसी भी प्रोग्राम) को संकलित करने के लिए बिल्ड टूल्स 2015 का उपयोग करने की कोशिश की, तो यह वही 'rc.exe' त्रुटि उत्पन्न हुई। मैंने पढ़ा कि VS2015 14.0 C ++ कंपाइलर गड़बड़ कर सकता है अगर यह विजुअल स्टूडियो 2017 से विंडोज 10 एसडीके का उपयोग करने की कोशिश करता है।

मैंने बिल्ड टूल 2015 को अनइंस्टॉल किया, और इसे पुनः स्थापित किया, इस बार कस्टम इंस्टॉलेशन के रूप में, दृश्य C ++ और विंडोज 10 एसडीके घटकों दोनों को स्थापित करने के लिए चयन किया । यह मुद्दा तय किया।

अद्यतन: मैंने अभी बिल्ड टूल्स 2015 को फिर से देखा, और जाहिर है कि अब कोई कस्टम इंस्टॉलेशन विकल्प नहीं है। यदि ऐसा है, तो C ++ और Windows SDK घटकों के साथ Visual Studio 2015 स्थापित करना भी काम करना चाहिए।


2
बहुत बहुत धन्यवाद, यह वास्तव में उचित समाधान है। नोट: मैंने इंस्टॉलर के "संशोधित" कमांड के माध्यम से एसडीके को जोड़ने की कोशिश की, लेकिन यह अटक गया। रीबूट करना था, अनइंस्टॉल करना था, फिर स्क्रैच से इंस्टॉल करना था।
वायलेट जिराफ

किसी को भी यह स्पष्ट करने में मदद मिल सकती है कि "क्या मतलब था ... इसे पुनर्स्थापित किया [निर्माण उपकरण 2015], इस बार एक कस्टम इंस्टॉलेशन के रूप में, दृश्य C ++ और Windows 10 SDK घटकों को स्थापित करने के लिए चयन करना।" कहाँ से स्थापित किया गया? Microsoft से एक स्टैंडअलोन के रूप में?
एस्टेप्रो

@estebro अगर आप "बिल्ड टूल्स 2015" को गूगल करते हैं और पहले लिंक पर क्लिक करते हैं, तो आपको इस स्टैंडअलोन पैकेज के लिए माइक्रोसॉफ्ट के डाउनलोड पेज पर ले जाया जाएगा। यदि आप rc.exe समस्या हो रही है, तो पैकेज को डाउनलोड और इंस्टॉल करें, लेकिन पैकेज को डिफ़ॉल्ट रूप से स्थापित न होने दें। INSTEAD, एक कस्टम इंस्टॉलेशन के लिए चयन करें, और सुनिश्चित करें कि विंडोज एसडीके (इसकी डिफ़ॉल्ट नहीं) की स्थापना को सक्षम करें।
OrangeSherbet

1
यह सही, वैचारिक रूप से सही उत्तर है। अन्य सभी हैक हैं जो काम नहीं कर सकते हैं; उनमें से किसी ने भी मेरे लिए नहीं किया।
22 अगस्त को

1
यह OMFG! स्पष्ट स्पष्टीकरण के लिए धन्यवाद। मैं ठीक उसी समस्या में भाग गया और लोगों को स्थापित करने का दोष इस तरह की लाल हेरिंग था। मैंने उसी परिणाम को देखने के लिए पांच बार फिर से स्थापित किया।
अनंत

11

मेरे मामले में, मुझे VS2015 और VS2017 में निर्मित परियोजनाओं के बीच एक मिक्स और मैच त्रुटि थी। मेरी .vcxproj फ़ाइल में, इस खंड को संपत्ति समूह लेबल = "ग्लोबल्स"> कहा जाता है। मेरे पास TargetPlatformVersion = 10.0.15063.0 के लिए एक अनुभाग था। जब मैंने TargetPlatformVersion को हटा दिया, तो इस समस्या का समाधान हो गया।

क्षमा करें, मैं यहां ब्लॉक को कॉपी और पेस्ट नहीं कर सकता, लेकिन स्टैकओवरफ्लो कोडिंग प्रारूप ने इसकी अनुमति नहीं दी।


यह तय हो गया। धन्यवाद।
My 1

7

मैं विंडोज 7 x 64 और विजुअल स्टूडियो 2017 पर हूं । मुझे यह त्रुटि एक साइथन स्क्रिप्ट को संकलित करने के लिए मिल रही है। मैंने कैसे हल किया: मैंने rc.exe और rcdll.dll को कॉपी और पेस्ट किया:

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

सेवा

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64

3
ये निर्देश 32-बिट के लिए हैं। 64-बिट के लिए, प्रयास C:\Program Files (x86)\Windows Kits\8.1\bin\x64करें C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
कंटीनो

साइथन के साथ हमारे लिए, इसने काम किया: हमने विजुअल स्टूडियो को ठीक C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64करने के C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64लिए कॉपी किया है जो rc.exe त्रुटि के कारण नहीं बन सकता है
ब्रैंडन डब्ल्यू। राजा

4

यहां मेरा लगभग समान मामला है:
मेरे पास Win7 32bit के तहत VC2010 काम करने की परियोजना है। मैं Win8.1 64bit के तहत VC2013 की क्लीन इन्स्टॉल करता हूँ। 1 अपनी समस्या के VC2010 से VC2013 में सफल होने के बाद, 1 संकलन के दौरान निम्नलिखित त्रुटि बढ़ती है:
समाप्त कोड जनरेट करना
लिंक: घातक त्रुटि LNK1158: 'r.exe।'

समाधान 1 नहीं चला सकता :
हटाएँ संपूर्ण पंक्ति "<ExecutablePath Condition =" ... ...> ... </ ExecutablePath> "तत्व में" <PropertyGroup> "NameOfYourSolution.vcxproj फ़ाइल में नोटपैड फ़ाइल को चलाने से पहले VCX3
समाधान 2: a) इसे छूने की आवश्यकता नहीं है किसी भी पथ या अन्य Windows या VC पर्यावरण चर।
केवल दो फ़ाइलों की प्रतिलिपि बनाएँ: rc.exe और rcdll.dll "c: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x86 \" से "c: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \" और संकलन होगा। सफल !!
ध्यान दें:

ख) "प्लेटफ़ॉर्म टूलसेट" (प्रोजेक्ट प्रॉपर्टी पेज -> कॉन्फ़िगरेशन प्रॉपर्टीज़ -> जनरल) "विज़ुअल स्टूडियो 2013 (v120)" पर स्वचालित रूप से सेट हो जाएगा (इसे "विज़ुअल स्टूडियो 2010 में नहीं बदलें" अपनी परियोजना को विकसित करने के लिए जारी रखने में सक्षम होने के लिए) VC2013 अवधारणाओं के तहत)


4

मेरे मामले में त्रुटि एक vcxproj में खराब सेटिंग के कारण थी। Vcxproj एक तृतीय पक्ष से था, इसलिए मुझे यकीन नहीं है कि यह उस राज्य में कैसे मिला।

विशेष रूप से, प्लेटफ़ॉर्म / प्रोफ़ाइल कॉम्बो में से एक के लिए, प्लेटफ़ॉर्म फ़ोल्डर Windows SDK बिन फ़ोल्डर से गायब था:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 <ExecutablePath>$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin\x86;

सही है, कहाँ है

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 <ExecutablePath>$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin;

गलत था। अंतर देखने के लिए कोड बॉक्स के अंत तक स्क्रॉल करने की आवश्यकता हो सकती है।

नोट भी, कि कुछ अजीब कारण $ (WindowsSdkDir) के लिए बिन \ x64; मेरे लिए काम नहीं किया। यह जानने की कोशिश की, कि जब rc.exe निश्चित रूप से उस फ़ोल्डर में मौजूद है, लेकिन मैंने छोड़ दिया।

मेरी राय में, पिछले पोस्टर्स के समाधान जिसमें सभी जगह rc.exe को कॉपी करना शामिल है, गलत हैं, क्योंकि आपका प्रोजेक्ट किसी और की मशीन पर काम नहीं करेगा। यदि आप प्रोजेक्ट में पथों को सही तरीके से ठीक करते हैं, तो इसे किसी भी मशीन पर विंडोज एसडीके की सही स्थापना के साथ काम करना चाहिए।


4

मैं विंडोज 10 x64 और विजुअल स्टूडियो 2017 पर हूं। मैंने कॉपी की और rc.exe और rcdll.dll को पेस्ट किया:

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

सेवा

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64

इसके साथ काम करता है: (क्यूटी निर्माता 5.7.1)


3

यह थोड़ा पुराना हो सकता है। लेकिन अगर rc.exe और exdll.dll की प्रतिलिपि बनाने से काम नहीं हुआ, तो एक मौका है कि विंडोज़ sdk ठीक से स्थापित नहीं है, भले ही विंडोज़ sdk फ़ोल्डर मौजूद हो। आप निम्न पृष्ठ में 8 जीतने के लिए एसडीके को अपडेट कर सकते हैं: http://msdn.microsoft.com/en-US/windows/hardware/hh852363 sdk को पुन: स्थापित करने के बाद, समस्या हल हो जाएगी। यह भी सुनिश्चित करें कि प्लेटफ़ॉर्म टूलसेट ठीक से सेट है।


3

मैंने हाल ही में इस मुद्दे का सामना किया है। मेरे पास वीएस 2015 और वीएस 2017 दोनों स्थापित हैं, विंडोज किट 8.1 और 10 स्थापित हैं।

VS 2017 से कमांड प्रॉम्प्ट उम्मीद के मुताबिक काम करता है, rc.exe दिखाई देता है। वीएस 2015 में यह सच नहीं है। दरअसल, VS 2015 से vcvarsall.bat स्क्रिप्ट पथ पथ के लिए विंडोज 10 किट में एक रास्ता जोड़ती है, लेकिन यह थोड़ा गलत रास्ता जोड़ता है। यह करने के लिए पथ जोड़ता है

"C:\Program Files (x86)\Windows Kits\10\bin\x86"

जबकि वास्तविक मार्ग है

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86"

ऐसा लगता है कि विंडोज 10 किट को अपडेट करना (या वीएस 2017 स्थापित करना) इस मुद्दे का कारण बना।

इसलिए समाधान सरल है: बस "C: \ Program Files (x86) \ Windows Kits \ 10 \ bin" फ़ोल्डर में प्रतीकात्मक लिंक बनाएं जो अंतर्निहित फ़ोल्डर में संबंधित फ़ोल्डरों की ओर इशारा करते हैं, उदाहरण के लिए फ़ोल्डर के लिए एक प्रतीकात्मक लिंक "x86" "10.0 .17763.0 \ x86 "," 10.064 "" 10.0.17763.0 \ x64 "आदि के लिए।


2

मुझे वीएस 2013 पर भी यही समस्या थी और इसे बदलकर मैं इसे ठीक करने में सक्षम था Platform Toolset

आप इसे सामान्य रूप से प्रोजेक्ट सेटिंग्स में पा सकते हैं।

जैसे स्विचिंग Platform Toolset लिए VS 2010 पर करने से VS को Windows \ v7.0A SDK का उपयोग करना पड़ेगा।

आप यह जांच कर सकते हैं कि एसडीके पथ का उपयोग आपकी प्रीलिफ्ट ईवेंट में जोड़कर किया गया है:

echo using SDK $(WindowsSdkDir)

लेकिन फिर भी इसका मतलब है कि VS2013 MFC ऐप्स को बिल्कुल भी सपोर्ट नहीं करता है। ध्यान दें कि rc.exe "विंडोज किट" निर्देशिका में है और एसडीके निर्देशिका में नहीं है। निकम्मा।
gbjbaanb

2

मैं वीएसआर 2013 (अपडेट 3) और फोरट्रान विंडोज (अपडेट 5) के लिए इंटेल समानांतर स्टूडियो एक्सई संगीतकार संस्करण के साथ विंडोज 7 का उपयोग कर रहा हूं। बॉक्स से बाहर मैं एक ही मुद्दा था।

एक बार जब मैंने लापता rc.exe समस्या को ठीक किया तो मेरे पास एक और समस्या थी। लिंकर कर्नेल 32.लिब गायब था।

मैंने Intel संगीतकार विकल्प (TOOLS-> Options ...-> Intel Composer XE-> Visual Fortran-> Compilers) को अपडेट करके दोनों मुद्दों को ठीक किया।

Win32 टैब के लिए मैंने जोड़ा:

निष्पादन योग्य: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ bin \ x86; ($ पहले (पेट))

पुस्तकालय: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x86;(अतं मै)

X64 टैब के लिए मैंने जोड़ा:

निष्पादन योग्य: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ bin \ x64; ($ पहले (पेट))

पुस्तकालय: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Lib \ win8 \ um \ x64;(अतं मै)

अपडेट करें...

मुझे कुछ एसडीके हेडर फाइलें (winver.h और winapifamily.h) भी याद आ रही थीं। मैंने निम्नलिखित को उसी TOOLS-> विकल्प ... क्षेत्र में जोड़ा।

दोनों win32 और x64 टैब के लिए

शामिल हैं: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ In \ um शामिल करें; C: \ Program Files (x86) \ Windows Kits \ 8.0 \ शामिल करें \ साझा;


2

मैं अपने VS2010 (SDK7.1) समाधान में एक (कुल 3 में से) परियोजनाओं का पता लगाता हूं (परियोजनाएं क्रमिक रैखिक निर्भरता श्रृंखला में जुड़ी हुई हैं), एक .rc फ़ाइल थी जो प्रोजेक्ट फ़ाइलों में खाली थी। खाली .rc फ़ाइल को हटाना (प्रोजेक्ट से, इसे हटाए बिना) "घातक त्रुटि LNK1158: ... cvtres.exe" समस्या को हल किया।

अद्यतन: निम्नलिखित प्रतिलिपि ने समस्या तय की:

xcopy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\"

यह WinSDK7.1, MSBuild के माध्यम से, .rc फ़ाइलों को निष्पादन योग्य में संकलित करने में सक्षम होगा।


BTW ने निम्नलिखित समस्या को हल किया: xcopy "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ cvtres.exe" "C: \ Program Files (x86) \ Microsoft दृश्य स्टूडियो 10.0 \ VC \ Bin \ x86_amd64 \ "यह MSBuild के माध्यम से WinSDK7.1 को सक्षम करेगा। निष्पादन योग्य वस्तुओं में .rc फ़ाइलों को संकलित करने में सक्षम होने के लिए।
Sterge

2

यह Visual Studio 2017 के साथ की तुलना में भी आसान है। इन निर्देशों का पालन करें: Microsoft Visual Studio इंस्टालर का उपयोग करके संशोधित करने के लिए https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio

एक बार Microsoft Visual Studio इंस्टॉलर के अंदर, अपने इंस्टॉल किए गए Visual Studio पैकेज के तहत संशोधित करें पर क्लिक करें, यह सुनिश्चित करें कि C ++ के साथ डेस्कटॉप विकास की जाँच की गई है, और MFC और ATl समर्थन (x86 और x64), सारांश के तहत।


1

यह vcxproj के कारण हो सकता है जो Visual Studio के पिछले संस्करणों में उत्पन्न हुआ है या कॉन्फ़िगरेशन गुणों में प्लेटफ़ॉर्म टूलसेट को बदल रहा है -> सामान्य।

यदि हां, तो संभव समाधान:

1) कॉन्फ़िगरेशन गुण पर जाएँ -> VC ++ निर्देशिकाएँ

2) निष्पादन योग्य निर्देशिकाएँ के लिए ड्रॉप डाउन का चयन करें

3) "अभिभावक या परियोजना चूक से विरासत" चुनें


1

अपने पर्यावरण चर खिड़की sdk 8.1 पथ में जोड़ें

C: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x64

फिर Visual Studio x64 नेटिव टूल कमांड प्रॉम्प्ट खोलें और एंटर करें

vcvarsall.bat


1

यदि आपको वास्तव में Visual Studio 2015 के साथ SDK Windows 10 का उपयोग करने की आवश्यकता है, तो आपको sdk- संग्रह पर एक पुराना संस्करण डाउनलोड करना होगा । एसडीके के नए संस्करण ने आरसी एक्जीक्यूटेबल की जगह बदल दी और MSBuild of Visual Studio 2015 अपडेट 3 (नवीनतम संस्करण) इसे ढूँढ नहीं सकता। एसडीके विंडोज का कम से कम 10.0.14393.795 संस्करण अभी भी विजुअल स्टूडियो 2015 के साथ संगत है।


यह इस समस्या का वास्तविक स्पष्टीकरण हो सकता है। यहाँ इस मुद्दे पर अभी तक एक और हाल ही में क्यूए है, यहाँ किसी के लिए भी ……… stackoverflow.com/a/53804573/294884
Fattie

1

शायद परियोजना फ़ाइल VS2017 द्वारा छुआ गया था। फिर जब आप 2015 में प्रोजेक्ट को लिंक करते हैं "लिंक: घातक त्रुटि LNK1158: 'rc.exe' नहीं चला सकता है" बिल्ड को ब्रेक कर सकता है।

Vcxproj में यह प्रयास करें:

1) प्रतिस्थापित करें:

<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> साथ में: <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>

2) निकालें: <VCProjectVersion>15.0</VCProjectVersion>

3) बदलें: के <PlatformToolset>v141</PlatformToolset> साथ: <PlatformToolset>v140</PlatformToolset>


1

rc.exeजब मुझे Azure DevOps पाइपलाइन के भीतर pip installएक bashकार्य को निष्पादित करने का प्रयास करने के बारे में ओपी की लिंक त्रुटि मिली, जिसे मैं C ++ एक्सटेंशन वाले स्रोत से पायथन पैकेज बनाने के लिए उपयोग कर रहा था। मैं कॉल करने से ठीक पहले कार्य के rc.exeअंदर का रास्ता जोड़कर इसे हल करने में सक्षम था , जैसे:bashpip install

PATH="/c/Program Files (x86)/Windows Kits/10/bin/10.0.18362.0/x64":$PATH

यह एक एज़्योर के अंदर था jobजो vmImage: 'windows-2019'अपने एजेंट के लिए उपयोग कर रहा था ; यानी, विजुअल स्टूडियो 2019 के साथ विंडोज सर्वर 2019।


1

मैं इसे इस तरह से खिड़कियों में काम करने में सक्षम था

  1. अपने पर्यावरण चर को अपने rc.exe के स्थान पर इंगित करने के लिए सेट करें मान लें कि आप x86 संस्करण का उपयोग कर रहे हैं

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x86

आप आसानी से अपने पर्यावरण चर का उपयोग कर सेट कर सकते हैं

C:> सेटैक्स पथ "% पथ%; C: \ Program Files (x86) \ Windows किट \ 10 \ bin \ 10.0.18362.0 \ x86"

  1. अपने Qt निर्माता को पुनरारंभ करें
  2. स्वच्छ और पुनर्निर्माण

0

मेरे मामले में, मैंने विजुअल स्टूडियो 2015 के माध्यम से विंडोज एसडीके 10586 स्थापित किया -> संशोधित करें , फिर निम्न पथ स्थापित हैं।

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ arm64 \ rc.exe

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \ rc.exe

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86 \ rc.exe


0

विजुअल स्टूडियो कम्युनिटी 2019 के लिए, ऊपर दिए गए उत्तरों में फाइलों को कॉपी करके ( rc.exe rcdll.dll) C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86मेरे लिए ट्रिक किया।


0

मैं विंडोज 10 प्रो x64, वीएस 19 पर हूं।

जब cmd में अपाचे के लिए mod_wsgi स्थापित करने की कोशिश कर रहा है।

C:\>python -m pip install mod_wsgi

यह वह त्रुटि है जो मुझे अपने कमांड प्रॉम्प्ट से मिल रही थी।

LINK : fatal error LNK1158: cannot run 'rc.exe'

error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1158

मुझे rc.exe और rcdll.dll से कॉपी करना था

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x86

और इसे जोड़ें

C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin \ x86_amd64

cmd से परिणाम

C:\>python -m pip install mod_wsgi
Collecting mod_wsgi
Using cached mod_wsgi-4.7.1.tar.gz (498 kB)
Installing collected packages: mod-wsgi
Running setup.py install for mod-wsgi ... done
Successfully installed mod-wsgi-4.7.1

आशा है कि यह किसी की मदद करता है।


0

"त्रुटि LNK1158 'rc.exe नहीं चला सकता है" परिणामस्वरूप आपका प्रोजेक्ट नए MS VS संस्करण द्वारा खोला गया था। उदाहरण के लिए, आपका प्रोजेक्ट वीएस 2015 में बनाया गया था, फिर बाद में 2017 तक खोला गया। फिर बाद में आपकी परियोजना 2015 में खोली गई।

इस समस्या को हल करने के लिए, yourProjectName.vcxproj खोलें, WindowsTargetPlatformVersion के लिए देखें , और सही VS संस्करण में बदलें

वीएस 2015 के लिए, यह वीएस 2017 के लिए 8.1 होना चाहिए, यह 10.0.17763.0 होना चाहिए


0

मेरे मामले, वी.एस. 2019 पर Windows 10 64 में, मैं पीछा ज्यादातर क्या यह जवाब में कहा गया था, लेकिन चिपकाया rc.exeऔर rcdll.dllसे C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86करने के लिए C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\binजो है, जहां है link.exeहै।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.