{"id":147,"date":"2021-10-15T20:39:42","date_gmt":"2021-10-15T11:39:42","guid":{"rendered":"https:\/\/www.spacek.xyz\/mle\/?p=147"},"modified":"2021-10-16T22:29:05","modified_gmt":"2021-10-16T13:29:05","slug":"vc2019-%eb%a1%9c-python-2-7-18-%ec%bb%b4%ed%8c%8c%ec%9d%bc%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.spacek.xyz\/mle\/?p=147","title":{"rendered":"VC2019 \ub85c python-2.7.18 \ucef4\ud30c\uc77c\ud558\uae30"},"content":{"rendered":"\n<p>VC2019 \ub97c \uc0ac\uc6a9\ud558\uc5ec python-2.7.18\uc744 \ucef4\ud30c\uc77c\ud558\ub824\uba74 \uc544\ub798\uc640 \uac19\uc740 \uc808\ucc28\ub85c \uc77c\ubd80 \ud30c\uc77c\uc744 \uc218\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>posixmodule.obj : error LNK2019: __imp____pioinfo__PyVerify_fd \ud568\uc218\uc5d0\uc11c \ucc38\uc870\ub418\ub294 \ud655\uc778\ud560 \uc218 \uc5c6\ub294 \uc678\ubd80 \uae30\ud638<br><strong>Python-2.7.18\\Modules\\posixmodule.c \uc758 _PyVerify_fd() \ub97c \uc544\ub798\uc640 \uac19\uc774 \uc218\uc815<\/strong><\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"5,6,7,41\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/* This function emulates what the windows CRT does to validate file handles *\/\nint\n_PyVerify_fd(int fd)\n{\n#if 1\n    return _get_osfhandle(fd) &amp;gt;= 0;\n#else\n    const int i1 = fd &amp;gt;&amp;gt; IOINFO_L2E;\n    const int i2 = fd &amp;amp; ((1 &amp;lt;&amp;lt; IOINFO_L2E) - 1);\n\n    static int sizeof_ioinfo = 0;\n\n    \/* Determine the actual size of the ioinfo structure,\n     * as used by the CRT loaded in memory\n     *\/\n    if (sizeof_ioinfo == 0 &amp;amp;&amp;amp; __pioinfo[0] != NULL) {\n        sizeof_ioinfo = _msize(__pioinfo[0]) \/ IOINFO_ARRAY_ELTS;\n    }\n    if (sizeof_ioinfo == 0) {\n        \/* This should not happen... *\/\n        goto fail;\n    }\n\n    \/* See that it isn't a special CLEAR fileno *\/\n    if (fd != _NO_CONSOLE_FILENO) {\n        \/* Microsoft CRT would check that 0&amp;lt;=fd&amp;lt;_nhandle but we can't do that.  Instead\n         * we check pointer validity and other info\n         *\/\n        if (0 &amp;lt;= i1 &amp;amp;&amp;amp; i1 &amp;lt; IOINFO_ARRAYS &amp;amp;&amp;amp; __pioinfo[i1] != NULL) {\n            \/* finally, check that the file is open *\/\n            my_ioinfo* info = (my_ioinfo*)(__pioinfo[i1] + i2 * sizeof_ioinfo);\n            if (info-&amp;gt;osfile &amp;amp; FOPEN) {\n                return 1;\n            }\n        }\n    }\n\n  fail:\n    errno = EBADF;\n    return 0;\n#endif\n}<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>python-2.7.18\\externals\\tk-8.5.19.0\\xlib\\X11\\X.h<br><strong>windows.h\ub97c \ucd94\uac00<\/strong><\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"4-8\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#define X_PROTOCOL\t11\t\t\/* current protocol version *\/\n#define X_PROTOCOL_REVISION 0\t\t\/* current minor version *\/\n\/* patched, include \"windows.h\" first to avoid conflict macro *\/\n#ifdef _WIN32\n#   define WIN32_LEAN_AND_MEAN\n#   include &lt;windows.h>\n#   undef WIN32_LEAN_AND_MEAN\n#endif<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Python-2.7.18\\PCbuild\\tcltk.props<br><strong>VC9 \ub97c VC13\uc73c\ub85c \uc218\uc815<\/strong><\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"3\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">    &lt;BuildDirTop Condition=\"$(TclMachine) != 'IX86'\">$(BuildDirTop)_$(TclMachine)&lt;\/BuildDirTop>\n    &lt;!-- This completely breaks building Tix for any toolset but v90 and should be fixed -->\n    &lt;BuildDirTop>$(BuildDirTop)_VC13&lt;\/BuildDirTop>\n  &lt;\/PropertyGroup>\n&lt;\/Project><\/pre>\n\n\n\n<p>\uc774\uc81c \ucef4\ud30c\uc77c\uc744 \ud558\uba74 \uc815\uc0c1\uc801\uc73c\ub85c \uc644\ub8cc\ub429\ub2c8\ub2e4.<br>\ub9cc\uc57d \ucef4\ud30c\uc77c\uc774 \uc548\ub418\uba74 \uc544\ub798 \uc808\ucc28\ub97c \ub530\ub77c \ud558\uc2dc\uba74 \ub429\ub2c8\ub2e4.<br><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>PCBuild \ub85c \uc774\ub3d9<\/li><li><code>get_externals.bat -c<\/code> \uc2e4\ud589\ud558\uc5ec externals \ud3f4\ub354\uc5d0 \uc678\ubd80 \ud30c\uc77c\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ud568<\/li><li>pcbuild.sln \uc744 \uc5f4\uace0 \uc194\ub8e8\uc158 \uc815\ub9ac \ud6c4 \uc194\ub8e8\uc158 \ube4c\ub4dc<\/li><li>\ube4c\ub4dc \uc2e4\ud589 \uc911\uc5d0 externals folder\uc5d0 tcltk \ud3f4\ub354\uac00 \uc0dd\uc131\ub418\uba74 \uc815\uc0c1\uc801\uc73c\ub85c \ucef4\ud30c\uc77c\uc774 \uc218\ud589\ub428<\/li><\/ol>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>VC2019 \ub97c \uc0ac\uc6a9\ud558\uc5ec python-2.7.18\uc744 \ucef4\ud30c\uc77c\ud558\ub824\uba74 \uc544\ub798\uc640 \uac19\uc740 \uc808\ucc28\ub85c \uc77c\ubd80 \ud30c\uc77c\uc744 \uc218\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. posixmodule.obj : error LNK2019: __imp____pioinfo__PyVerify_fd \ud568\uc218\uc5d0\uc11c \ucc38\uc870\ub418\ub294 \ud655\uc778\ud560 \uc218 \uc5c6\ub294 \uc678\ubd80 \uae30\ud638Python-2.7.18\\Modules\\posixmodule.c \uc758 _PyVerify_fd() \ub97c \uc544\ub798\uc640 \uac19\uc774 \uc218\uc815 python-2.7.18\\externals\\tk-8.5.19.0\\xlib\\X11\\X.hwindows.h\ub97c \ucd94\uac00 Python-2.7.18\\PCbuild\\tcltk.propsVC9 \ub97c VC13\uc73c\ub85c \uc218\uc815 \uc774\uc81c \ucef4\ud30c\uc77c\uc744 \ud558\uba74 \uc815\uc0c1\uc801\uc73c\ub85c &hellip; <a href=\"https:\/\/www.spacek.xyz\/mle\/?p=147\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[38,40,39],"class_list":["post-147","post","type-post","status-publish","format-standard","hentry","category-window-program","tag-python","tag-python-2-7","tag-vc2019"],"views":385,"_links":{"self":[{"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=\/wp\/v2\/posts\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":10,"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":160,"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions\/160"}],"wp:attachment":[{"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.spacek.xyz\/mle\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}