◀ANSI版開発トップへ
  • 4664 1.5.15.0
    • 4665 Re:1.5.15.0
      • 4666 Re2:1.5.15.0
        • 4667 Re3:1.5.15.0
  • [4664] 1.5.15.0 novice 2007年01月27日 23:33

    「Visual Studio .NET 2003 Service Pack 1」でコンパイルするときは、
    「マルチスレッド(/MT)」にしないとリンクエラーになるのは私だけでしょうか?
    • [4665] Re:1.5.15.0 novice 2007年01月27日 23:34

      ▼ noviceさん
      > 「Visual Studio .NET 2003 Service Pack 1」でコンパイルするときは、
      > 「マルチスレッド(/MT)」にしないとリンクエラーになるのは私だけでしょうか?

      「makefile」を下記のように変更したらコンパイル通りました。

      Index: makefile
      ========================================
      ===========================
      --- makefile (revision 1054)
      +++ makefile (working copy)
      @@ -58,7 +58,7 @@
      OBJDIR=.\Debug_one
      OPTLIBS=libcd.lib libcpd.lib
      !else
      -OPTFLAGS=/W3 /GR /GX /O1 /ML /D "NDEBUG"
      +OPTFLAGS=/W3 /GR /GX /O1 /MT /D "NDEBUG"
      OBJDIR=.\Release_one
      OPTLIBS=libc.lib libcp.lib
      !endif
      • [4666] Re2:1.5.15.0 ryoji 2007年01月28日 01:05

        ▼ noviceさん
        > ▼ noviceさん
        > > 「Visual Studio .NET 2003 Service Pack 1」でコンパイルするときは、
        > > 「マルチスレッド(/MT)」にしないとリンクエラーになるのは私だけでしょうか?
        もとのmakefileのままでリンクできてます(VS2003 SP1)。
        環境変数LIBの設定でVisual Studio .NET 2003のLIBへのパスが優先されるようなっていますか?
        例)
        Set LIB=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
        Set LIB=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib;%LIB%
        別途インストールしたPSDKのLIBへのパスが優先になってたりすると、リンクエラーになると思います。

        マルチスレッド(/MT)にするなら、OPTLIBの設定も変えたほうがいいです。
        OPTLIBS=libcmt.lib libcpmt.lib
        かな。
        • [4667] Re3:1.5.15.0 novice 2007年01月28日 02:00

          ▼ ryojiさん
          > 別途インストールしたPSDKのLIBへのパスが優先になってたりすると、リンクエラーになると思います。

          ご確認ありがとうございます。
          ご指摘の通り、「Microsoft Platform SDK for Windows Server 2003 SP1」のリンクパスが
          優先になってました。
          「NewApis.h」のエラーの件があったので、このようにした気がしました。