मुझे विरासत कोड का एक गुच्छा मिला है जिसके लिए मुझे इकाई परीक्षण लिखने की आवश्यकता है। यह हर जगह प्री-कंपाइल हेडर का उपयोग करता है, इसलिए लगभग सभी .cpp फ़ाइलों में stdafx.h पर निर्भरता होती है जो परीक्षण लिखने के लिए निर्भरताओं को तोड़ना मुश्किल बनाता है।क्या stdafx.h की आवश्यकता के बिना वीसी ++ में प्री-कंपाइल हेडर का उपयोग करने का कोई तरीका है?
मेरा पहला वृत्ति इन सभी stdafx.h फ़ाइलों को निकालना है, जिनमें अधिकांश भाग के लिए # अंतर्निहित निर्देश होते हैं और उन # को सीधे स्रोत फ़ाइलों में शामिल करते हैं।
इससे पूर्व-संकलित शीर्षलेख बंद करना आवश्यक हो जाएगा क्योंकि यह निर्धारित करने के लिए कि प्री-संकलित हेडर कहां रुकते हैं, वे stdafx.h जैसी फ़ाइल रखने पर निर्भर हैं।
क्या stdafx.h निर्भरताओं के बिना पूर्व-संकलित शीर्षलेख रखने का कोई तरीका है? क्या इस समस्या से संपर्क करने का कोई बेहतर तरीका है?
व्यक्तिगत तौर पर मैं precompiled हेडर (दोनों सामान्य कोड और इकाई परीक्षण के लिए) का उपयोग लेकिन नाम Precompiled.h/सीपीपी का उपयोग करें। यूनिट परीक्षणों के लिए प्रीकंपिल्ड हेडर में अतिरिक्त शीर्षलेख शामिल होते हैं ताकि संकलन तेज हो। – Daemin
इस के लिए कृपया वोट: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4931119-allow-precompiled-headers-to-be-shared-between-pro –
हाँ, वहाँ एक बेहतर है मार्ग। प्रत्येक स्रोत फ़ाइल के लिए केवल एक प्रीकंपील्ड हेडर का उपयोग किया जा सकता है, लेकिन पीएच को प्रत्येक * स्रोत फ़ाइल या स्रोत फ़ाइलों के सेट को निर्दिष्ट किया जा सकता है। आप यह भी निर्दिष्ट कर सकते हैं कि कौन सी स्रोत फाइलें प्रीकंपील्ड हेडर का उपयोग करती हैं या नहीं। नीचे मेरा जवाब देखें। – riderBill