2013-05-09 5 views
1

Я работаю над проектом через 2 дня, а за последние 2 дня я только что искал за способ заставить это работать. Я довольно новичок в C++, и наш проект класса требует от нас использования C++ для создания 5 игр и их экспорта в базу данных MySQL для таблицы высоких баллов.Неустранимая ошибка C1083: Не удается открыть файл include: 'boost/variant.hpp': Нет такого файла или каталога

База данных MySQL не является проблемой. Моя единственная проблема заключается в том, что C++ подключается к базе данных MySQL.

Итак, вот еще информация, которую кто-то может мне помочь.

Я использую Visual Studio 2010 и 2012 для этого. (Как и у меня есть VS 2012, в то время как моя школа имеет 2010 год, поэтому я не знаю, есть ли для этого различия совместимости, но у меня также есть VS2010).

Я искал в Интернете 5 часов или более об этих вещах, например, почему мой оператор «#include» не работает, и я узнал о том, как войти в свойства проекта и добавить разные библиотеки. Обычно после серфинга какое-то время я могу понять, где я ошибся, но здесь я только что зашел в тупик, так как единственная помощь, которую я могу найти, говорит, что это включает в себя повышение, которое я сделал, но я полностью тупик до этого момента. Мои друзья. Я делаю этот классный проект с нетерпением, поскольку это последнее, что нам осталось сделать.

Итак, вот что я должен включить.

My Включает для обоих тестовых программ я делаю (оба таже)

"Additional Include Directories" 
C:\Users\Damian\Desktop\boost_1_53_0\boost_1_53_0\boost 
C:\Program Files\MySQL\MySQL Connector C++ 1.1.3\include 
C:\Program Files\MySQL\MySQL Server 5.6\include 

Мои Linker -> "Дополнительные каталоги библиотек"

C:\Users\Damian\Desktop\boost_1_53_0\boost_1_53_0\boost 
C:\Program Files\MySQL\MySQL Connector C++ 1.1.3\lib\opt 
C:\Program Files\MySQL\MySQL Server 5.6\lib 

Мой код для обеих программ Я: пытаясь бежать.

Это один является один я тестировал на Visual Studio 2012

#include <iostream> 
#include <cstdio> 
#include <cstdlib> 
using namespace std; 

#include <stdlib.h> 
#include <Windows.h> 
#include <mysql.h> 
#include "mysql_connection.h" 

#include <cppconn/driver.h> 
#define host "localhost" 
#define username "username" 
#define password "password" 
#define database "db_test" 

int main() 
{ 
    MYSQL* conn; 
    conn = mysql_init(NULL); 
    if(conn) 
    { 
     mysql_real_connect(conn, host, username, password, database, 0, NULL, 0); 
    } 
    MYSQL_RES* res_set; 
    MYSQL_ROW row; 
    unsigned int i; 
    mysql_query(conn, "SELECT * FROM tbl_clients WHERE id = 1"); 
    res_set = mysql_store_result(conn); 
    unsigned int numrows = mysql_num_rows(res_set); 
    if(numrows) 
    { 
     row = mysql_fetch_row(res_set); 
     if(row != NULL) 
     { 
      cout << "Client ID : " << row[0] << endl; 
      cout << "Client Name: " << row[1] << endl; 
     } 
    } 
    if(res_set) 
    { 
     mysql_free_result(res_set); 
    } 
    if(conn) 
    { 
     mysql_close(conn); 
    } 

    return 0; 
} 

Это код, который я пытаюсь скомпилировать на Visual Studio 2010

#include <stdio.h> 
#define W32_LEAN_AND_MEAN 
#include <winsock2.h> 
#include "mysql.h" 
#include "mysql_connection.h" 

#include <cppconn/driver.h> 
#include <iostream> 

// change these to suit your setup 
#define TABLE_OF_INTEREST "highscores" 
#define SERVER_NAME "127.0.0.1" 
#define DB_USER "root" 
#define DB_USERPASS "root" 
#define DB_NAME "test" 

// prototypes 
void showTables(MYSQL*); 
void showContents(MYSQL*,const char*); 

using namespace std; 

int main(int argc, char* argv[]) 
{ 
MYSQL *hnd=NULL; // mysql connection handle 
const char *sinf=NULL; // mysql server information 

hnd = mysql_init(NULL); 
if (NULL == mysql_real_connect(hnd,SERVER_NAME,DB_USER,DB_USERPASS,DB_NAME,0,NULL,0)) 
{ 
fprintf(stderr,"Problem encountered connecting to the %s database on %s.\n",DB_NAME,SERVER_NAME); 
} 
else 
{ 
fprintf(stdout,"Connected to the %s database on %s as user '%s'.\n",DB_NAME,SERVER_NAME,DB_USER); 
sinf = mysql_get_server_info(hnd); 

if (sinf != NULL) 
{ 
fprintf(stdout,"Got server information: '%s'\n",sinf); 
showTables(hnd); 
showContents(hnd,TABLE_OF_INTEREST); 
} 
else 
{ 
fprintf(stderr,"Failed to retrieve the server information string.\n"); 
} 

mysql_close(hnd); 
} 

return 0; 
} 

void showTables(MYSQL *handle) 
{ 
MYSQL_RES *result=NULL; // result of asking the database for a listing of its tables 
MYSQL_ROW row; // one row from the result set 

result = mysql_list_tables(handle,NULL); 
row = mysql_fetch_row(result); 
fprintf(stdout,"Tables found:\n\n"); 
while (row) 
{ 
fprintf(stdout,"\t%s\n",row[0]); 
row = mysql_fetch_row(result); 
} 
mysql_free_result(result); 

fprintf(stdout,"\nEnd of tables\n"); 

return; 
} 

void showContents 
(
MYSQL *handle, 
const char *tbl 
) 
{ 
MYSQL_RES *res=NULL; // result of querying for all rows in table 
MYSQL_ROW row; // one row returned 
char sql[1024], // sql statement used to get all rows 
commastr[2]; // to put commas in the output 
int i,numf=0; // number of fields returned from the query 

sprintf(sql,"select * from %s",tbl); 
fprintf(stdout,"Using sql statement: '%s' to extract all rows from the specified table.\n",sql); 

if (!mysql_query(handle,sql)) 
{ 
res = mysql_use_result(handle); 
if (res) 
{ 
numf = mysql_num_fields(res); 
row = mysql_fetch_row(res); 
fprintf(stdout,"Rows returned:\n\n"); 
while (row) 
{ 
commastr[0]=commastr[1]=(char)NULL; 
for (i=0;i<numf;i++) 
{ 
if (row == NULL) 
{ 
fprintf(stdout,"%sNULL",commastr); 
} 
else 
{ 
fprintf(stdout,"%s%s",commastr,row); 
} 
commastr[0]=','; 
} 
fprintf(stdout,"\n"); 

row = mysql_fetch_row(res); 
} 
fprintf(stdout,"\nEnd of rows\n"); 

mysql_free_result(res); 
} 
else 
{ 
fprintf(stderr,"Failed to use the result acquired!\n"); 
} 
} 
else 
{ 
fprintf(stderr,"Failed to execute query. Ensure table is valid!\n"); 
} 

return; 
} 

Теперь оба они дают мне эта ошибка

1>c:\program files\mysql\mysql connector c++ 1.1.3\include\cppconn\connection.h(31): fatal error C1083: Cannot open include file: 'boost/variant.hpp': No such file or directory 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Пожалуйста, помогите! Примечание. Я только пытаюсь подключиться к базе данных с успехом, поэтому я могу запускать разные запросы и еще много чего. Эти программы - это просто тесты, которые я скопировал из других источников.

Спасибо!

ответ

4

Я думаю

"Additional Include Directories" 
C:\Users\Damian\Desktop\boost_1_53_0\boost_1_53_0\boost 

должен быть

"Additional Include Directories" 
C:\Users\Damian\Desktop\boost_1_53_0\boost_1_53_0 
+0

Ого, спасибо за быстрый такой быстрый ответ! Это исправило эту проблему, но теперь у меня возникает другая проблема с моим кодом. Я отредактирую его на этот вопрос. Или лучше сделать новый –

+0

Nevermind, я оставлю это так, спасибо за тонну за помощь! Теперь я задам новый вопрос для моей новой проблемы; \ –

Смежные вопросы

 Смежные вопросы