1

私の問題は非常に単純です。次のものが含まれています。

#include "stdafx.h"
#include "my_global.h"
#include "mysql.h"
#include "ServerManager.h"
#include "GamePlay.h"

#pragma comment(lib, "libmysql.lib")

そして、私は警告を受け取ります(これはかなり面倒です):

1>c:\program files\mysql\connector c 6.0.2\include\config-win.h(24): warning C4005: '_WIN32_WINNT' : macro redefinition
1>          c:\program files\windows kits\8.0\include\shared\sdkddkver.h(195) : see previous definition of '_WIN32_WINNT'

だから私は stdafx に_WIN32_WINNTが定義されている targetver.h が含まれていることを確認し、 my_global.h には _WIN32_WINNT も含まれてます。これについて何ができますか?

これはまさに、MySQL C ライブラリの一部である my_global.h ファイルの競合部分です。

/* Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */

/* Defines for Win32 to make it compatible for MySQL */

#define BIG_TABLES

/* 
  Minimal version of Windows we should be able to run on.
  Currently Windows 2000
*/
#define _WIN32_WINNT     0x0500

私は問題を含めて新しいものです、ありがとう!

4

2 に答える 2

1

my_global.h を次のように変更することをお勧めします。

/* 
  Minimal version of Windows we should be able to run on.
  Currently Windows 2000
*/
#define _WIN32_WINNT     0x0500

/* 
  Minimal version of Windows we should be able to run on.
  Currently Windows 2000
*/
#if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0500
#error "MySQL requires Windows 2000 or later"
#elif !defined(_WIN32_WINNT)
#define _WIN32_WINNT     0x0500
#endif

多分私は何かが欠けているかもしれませんが、MySQLの部分では本当にかなり貧弱だと思います.

于 2012-07-29T06:56:13.577 に答える
0

問題をよりよく理解した後my_global.h、Windows 環境を MySQL で使用できるように設定しているようです。これが事実なので、私は使用をやめtargetver.hます。生成されるのはそのときだけなので、プリコンパイル済みヘッダーを使用していると思いますstdafx.h。プリコンパイルされたヘッダーを削除したり、削除したりせずにプロジェクトを作成することをお勧めしtargetver.hます。詳しくはこちらをご覧ください。

于 2012-07-29T06:18:10.247 に答える