{"id":4669,"date":"2023-08-14T11:10:49","date_gmt":"2023-08-14T09:10:49","guid":{"rendered":"https:\/\/mariusbancila.ro\/blog\/?p=4669"},"modified":"2023-08-14T11:10:52","modified_gmt":"2023-08-14T09:10:52","slug":"the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier","status":"publish","type":"post","link":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/","title":{"rendered":"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Recently, I stumbled across a peculiar error that I found nothing about on the web. Although I got rid of it, I didn&#8217;t figure out what the problem was. This post is merely the story of what happened.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I am working on a project that contains both C++ and C# projects. The C++ ones used to be built with <code>\/std:c++17<\/code> and we wanted to upgrade. So I switched to <code>\/std:c++latest<\/code> and <code>\/std:c++20<\/code> for those containing C++\/CLI code. Of course, this didn&#8217;t come for free, I had to fix a large amount of errors first, but in the end everything was building and working fine. Except that it didn&#8217;t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The next day after committing the changes, we found out that the nightly built had failed. Looking in the logs, the following error appeared several times:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">139>C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.36.32532\\atlmfc\\include\\atlctl.h(4397,61): error C2065: 'IID_InterfaceName': undeclared identifier<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This was odd and to check what was going on I opened the sources with Visual Studio and built the solution on the build machine and there was no error. But running the build scripts produced this error every time. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We were using Visual Studio 2022 17.6.x. So it happened that that day version 17.7 was released and we upgraded to that thinking it might be something in the build tools that might have been fixed, but of course, there was no change. The same error continued to occur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Looking at the build scripts, I realized the actual build was done by running the following command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">devenv.exe \"C:\\path\\mysolution.sln\" \/Out \"C:\\Build\\Logs\\mysolution.log\" \/Rebuild \"Release\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">So we weren&#8217;t using MSBuild but Visual Studio itself to run the build. This is unfortunate because there are only a few options you can pass to <code>devenv.exe<\/code>. For instance, you can&#8217;t specify the verbosity of the build. If you need more detailed logs, you first need to start Visual Studio, go to Options and change the MSBuild project build output verbosity.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2023\/08\/msbuild.png\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"176\" src=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2023\/08\/msbuild-700x176.png\" alt=\"\" class=\"wp-image-4671\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2023\/08\/msbuild-700x176.png 700w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2023\/08\/msbuild-300x76.png 300w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2023\/08\/msbuild-768x193.png 768w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2023\/08\/msbuild.png 806w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It looked like that opening devenv.exe and running a rebuild from the UI worked fine, but passing the solution as argument to devenv.exe and running without any UI didn&#8217;t work well. Looking at the detailed log, I could see a cl.exe command that looked like this (a simplified form is shown here):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX86\\x86\\CL.exe \/c \/I.\\Include \/Zi \/nologo \/W3 \/WX- \/diagnostics:column \/O2 \/Ob2 \/Oy- \/D HAVE_CPP_STDLIB \/D NDEBUG \/D WIN32 \/D _WINDOWS \/D _ATL_NO_UUIDOF \/D _VC80_UPGRADE=0x0710 \/D _MBCS \/D _AFXDLL \/GF \/Gm- \/EHsc \/MD \/GS \/Gy \/fp:precise \/Zc:wchar_t \/Zc:forScope \/Zc:inline \/std:c++latest \/Yu\"stdafx.h\" \/Fd\"..\\..\\Output\\Release\\vc143.pdb\" \/external:W3 \/Gd \/TP \/analyze- \/FC \/errorReport:prompt \/Zm200 \/FS MyFile.cpp<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That didn&#8217;t ring any bell though. But running the command by hand in a command prompt I could reproduce the error.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So the header where the error occurred was <code>atlctl.h<\/code>. It looked like we didn&#8217;t even need to include this one, so removing it immediately solved the build problems. But the mystery remains. I was not able to identify the cause for the different results in compiling the same sources with the same tools. If anyone has any knowledge of the cause of this I&#8217;d love to hear about it!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, I stumbled across a peculiar error that I found nothing about on the web. Although I got rid of it, I didn&#8217;t figure out what the problem was. This post is merely the story of what happened. I am working on a project that contains both C++ and C# projects. The C++ ones used &#8230; <a title=\"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier\" class=\"read-more\" href=\"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/\" aria-label=\"Read more about The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[7,12,10],"tags":[216,451,55],"class_list":["post-4669","post","type-post","status-publish","format-standard","hentry","category-c","category-mfc","category-visual-studio","tag-atl","tag-c","tag-visualstudio"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"This is a little story of an error that I stumbled across...\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Marius Bancila\"\/>\n\t<meta name=\"keywords\" content=\"atl,c++,visualstudio\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Marius Bancila&#039;s Blog | About code. Mostly on C++\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"The curious case of IID_InterfaceName undeclared identifier\" \/>\n\t\t<meta property=\"og:description\" content=\"This is a little story of an error that I stumbled across...\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-08-14T09:10:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-08-14T09:10:52+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"The curious case of IID_InterfaceName undeclared identifier\" \/>\n\t\t<meta name=\"twitter:description\" content=\"This is a little story of an error that I stumbled across...\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#article\",\"name\":\"The curious case of IID_InterfaceName undeclared identifier\",\"headline\":\"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier\",\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/msbuild.png\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#articleImage\",\"width\":806,\"height\":203},\"datePublished\":\"2023-08-14T11:10:49+02:00\",\"dateModified\":\"2023-08-14T11:10:52+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#webpage\"},\"articleSection\":\"C++, MFC, Visual Studio, ATL, C++, VisualStudio\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"position\":2,\"name\":\"IT\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"position\":3,\"name\":\"Software\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"position\":4,\"name\":\"C++\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/#listItem\",\"name\":\"MFC\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/#listItem\",\"position\":5,\"name\":\"MFC\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#listItem\",\"name\":\"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#listItem\",\"position\":6,\"name\":\"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/#listItem\",\"name\":\"MFC\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Marius Bancila\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Marius Bancila\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#webpage\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/\",\"name\":\"The curious case of IID_InterfaceName undeclared identifier\",\"description\":\"This is a little story of an error that I stumbled across...\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2023\\\/08\\\/14\\\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2023-08-14T11:10:49+02:00\",\"dateModified\":\"2023-08-14T11:10:52+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"The curious case of IID_InterfaceName undeclared identifier","description":"This is a little story of an error that I stumbled across...","canonical_url":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/","robots":"max-image-preview:large","keywords":"atl,c++,visualstudio","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#article","name":"The curious case of IID_InterfaceName undeclared identifier","headline":"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier","author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2023\/08\/msbuild.png","@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#articleImage","width":806,"height":203},"datePublished":"2023-08-14T11:10:49+02:00","dateModified":"2023-08-14T11:10:52+02:00","inLanguage":"en-US","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#webpage"},"isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#webpage"},"articleSection":"C++, MFC, Visual Studio, ATL, C++, VisualStudio"},{"@type":"BreadcrumbList","@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mariusbancila.ro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","position":2,"name":"IT","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","position":3,"name":"Software","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","position":4,"name":"C++","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/#listItem","name":"MFC"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/#listItem","position":5,"name":"MFC","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#listItem","name":"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#listItem","position":6,"name":"The curious case of error C2065: &#8216;IID_InterfaceName&#8217;: undeclared identifier","previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/#listItem","name":"MFC"}}]},{"@type":"Organization","@id":"https:\/\/mariusbancila.ro\/blog\/#organization","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","url":"https:\/\/mariusbancila.ro\/blog\/"},{"@type":"Person","@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author","url":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/","name":"Marius Bancila","image":{"@type":"ImageObject","@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Marius Bancila"}},{"@type":"WebPage","@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#webpage","url":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/","name":"The curious case of IID_InterfaceName undeclared identifier","description":"This is a little story of an error that I stumbled across...","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/#breadcrumblist"},"author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"datePublished":"2023-08-14T11:10:49+02:00","dateModified":"2023-08-14T11:10:52+02:00"},{"@type":"WebSite","@id":"https:\/\/mariusbancila.ro\/blog\/#website","url":"https:\/\/mariusbancila.ro\/blog\/","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","inLanguage":"en-US","publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Marius Bancila's Blog | About code. Mostly on C++","og:type":"article","og:title":"The curious case of IID_InterfaceName undeclared identifier","og:description":"This is a little story of an error that I stumbled across...","og:url":"https:\/\/mariusbancila.ro\/blog\/2023\/08\/14\/the-curious-case-of-error-c2065-iid_interfacename-undeclared-identifier\/","article:published_time":"2023-08-14T09:10:49+00:00","article:modified_time":"2023-08-14T09:10:52+00:00","twitter:card":"summary","twitter:title":"The curious case of IID_InterfaceName undeclared identifier","twitter:description":"This is a little story of an error that I stumbled across..."},"aioseo_meta_data":{"post_id":"4669","title":"The curious case of IID_InterfaceName undeclared identifier","description":"This is a little story of an error that I stumbled across...","keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-08-14 08:35:50","updated":"2025-12-12 07:58:44","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"author_meta":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"featured_img":null,"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"uagb_comment_info":2,"uagb_excerpt":"Recently, I stumbled across a peculiar error that I found nothing about on the web. Although I got rid of it, I didn&#8217;t figure out what the problem was. This post is merely the story of what happened. I am working on a project that contains both C++ and C# projects. The C++ ones used&hellip;","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/\" class=\"advgb-post-tax-term\">MFC<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">Visual Studio<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">MFC<\/span>","<span class=\"advgb-post-tax-term\">Visual Studio<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">ATL<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">VisualStudio<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">ATL<\/span>","<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">VisualStudio<\/span>"]}},"comment_count":"2","relative_dates":{"created":"Posted 3 years ago","modified":"Updated 3 years ago"},"absolute_dates":{"created":"Posted on August 14, 2023","modified":"Updated on August 14, 2023"},"absolute_dates_time":{"created":"Posted on August 14, 2023 11:10 am","modified":"Updated on August 14, 2023 11:10 am"},"featured_img_caption":"","series_order":"","jetpack_shortlink":"https:\/\/wp.me\/pYNdv-1dj","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/4669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/comments?post=4669"}],"version-history":[{"count":3,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/4669\/revisions"}],"predecessor-version":[{"id":4674,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/4669\/revisions\/4674"}],"wp:attachment":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/media?parent=4669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/categories?post=4669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/tags?post=4669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}