আমি যে সি ++ প্রোগ্রাম লিখেছি তা সংকলন করতে আমার কিছুটা সমস্যা হচ্ছে।
এই প্রোগ্রামটি খুব সাধারণ এবং আমার জ্ঞানের সর্বোপরি সি ++ স্ট্যান্ডার্ডে নির্ধারিত সমস্ত নিয়ম মেনে চলে। নিশ্চিত হওয়ার জন্য আমি আইএসও / আইইসি 14882: 2003 এর সম্পূর্ণতা দুটিবার পড়েছি।
প্রোগ্রামটি নিম্নরূপ:
এই প্রোগ্রামটি ভিজ্যুয়াল সি ++ এর সাথে সংকলনের চেষ্টা করার সময় আমি আউটপুটটি পেয়েছি:
c:\dev>cl /nologo helloworld.png
cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed
helloworld.png : fatal error LNK1107: invalid or corrupt file: cannot read at 0x5172
হতাশ, আমি জি ++ 4.5.2 চেষ্টা করেছিলাম, তবে এটি ছিল সমানভাবে অপ্রয়োজনীয়:
c:\dev>g++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status
আমি বুঝতে পেরেছি যে ক্ল্যাং (সংস্করণ 3.0 ট্রাঙ্ক 127530) অবশ্যই কাজ করবে, কারণ এটি এর মান অনুসারে যথেষ্ট প্রশংসিত। দুর্ভাগ্যক্রমে, এটি আমাকে এর সুন্দর, হাইলাইটেড ত্রুটি বার্তাগুলির একটিও দেয় নি:
c:\dev>clang++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status
clang++: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)
সত্যি কথা বলতে কি, এই ত্রুটি বার্তার কোনওটির অর্থ আমি সত্যই জানি না।
অন্যান্য অনেক সি ++ প্রোগ্রামে একটি .cpp এক্সটেনশন সহ উত্স ফাইল রয়েছে , তাই আমি ভেবেছিলাম সম্ভবত আমার ফাইলটির নামকরণের প্রয়োজন। আমি এর নামটি হেলোরওল্ড.পিপি- তে পরিবর্তন করেছিলাম , তবে তাতে কোনও লাভ হয়নি। আমি মনে করি ক্ল্যাং-এ একটি খুব গুরুতর ত্রুটি রয়েছে কারণ যখন আমি এটির নামকরণ প্রোগ্রামটি সংকলন করতে চেষ্টা করেছি, তখন এটি উল্টে গেল, মুদ্রিত "৮৮ সতর্কতা এবং ২০ টি ত্রুটি উত্পন্ন হয়েছে।" এবং আমার কম্পিউটারকে অনেক বেশি বীপ বানিয়েছে!
আমি এখানে কি ভুল করেছি? আমি কি সি ++ স্ট্যান্ডার্ডের কিছু সমালোচনামূলক অংশ মিস করেছি? বা তিনটি সংকলকই কি সত্যিই এতটাই ভাঙ্গা হয়েছে যে তারা এই সাধারণ প্রোগ্রামটি সংকলন করতে পারে না?