eclipse开发c++时cout和endl报错

1.Symbol 'cout' could not be resolved  , 选择kepler版本就不报错了。

2. 下载gdb,

./configure

make

sudo make install

3. 在eclipse中配置gdb(mac版本)

因为直接用gdb调试的话,会出现没有权限的情况,因此需要制作一个keychain给gdb

   打开钥匙串访问

点击屏幕左上角的钥匙串访问,点击:钥匙串访问-->证书助理-->创建证书

如下图:

按照下图配置:

选择代码签名和让我覆盖这些默认值

一直点击继续,知道出现创建的页面位置,将“登陆”改为“系统”。点击完成。

到 钥匙串访问界面,分别选择“系统”和“我的证书”,双击gdb-certificate,选择“总是信任”

调回到Terminal界面下,输入以下命令:

sudo codesign -s gdb-certificate /usr/local/bin/gdb


在debug configuration中配置gdb,如下:

修改gdb为/usr/local/bin/gdb,这样才能找到gdb

然后就可以正常调试,第一次调试的时候要输入管理员账号,这个问题也是可以解决的,不过我没有继续研究下去。


这里提供一个基于EclipseC++实现五子棋的代码,希望对你有帮助。 注意:本代码仅供参考,不保证完全正确和优化。 ```c++ #include <iostream> using namespace std; const int N = 15; // 棋盘大小 char board[N][N]; // 棋盘 char player1 = 'X'; // 玩家1执黑子 char player2 = 'O'; // 玩家2执白子 char currentPlayer = player1; // 当前玩家 bool isGameOver = false; // 游戏是否结束 // 初始化棋盘 void initBoard() { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { board[i][j] = '-'; } } } // 打印棋盘 void printBoard() { cout << " "; for (int i = 0; i < N; i++) { cout << " " << i + 1; } cout << endl; for (int i = 0; i < N; i++) { cout << i + 1 << " "; for (int j = 0; j < N; j++) { cout << board[i][j] << " "; } cout << endl; } } // 判断是否下到了边界 bool isInBound(int row, int col) { return row >= 0 && row < N && col >= 0 && col < N; } // 判断该位置是否为空 bool isEmpty(int row, int col) { return board[row][col] == '-'; } // 判断是否可落子 bool isValidMove(int row, int col) { return isInBound(row, col) && isEmpty(row, col); } // 落子 void makeMove(int row, int col, char player) { board[row][col] = player; } // 检查是否有连成五个的子 bool checkWin(int row, int col, char player) { // 检查横向 int count = 0; for (int j = col; j >= 0; --j) { if (board[row][j] == player) { count++; } else { break; } } for (int j = col + 1; j < N; ++j) { if (board[row][j] == player) { count++; } else { break; } } if (count >= 5) return true; // 检查纵向 count = 0; for (int i = row; i >= 0; --i) { if (board[i][col] == player) { count++; } else { break; } } for (int i = row + 1; i < N; ++i) { if (board[i][col] == player) { count++; } else { break; } } if (count >= 5) return true; // 检查左上-右下斜线 count = 0; for (int i = row, j = col; i >= 0 && j >= 0; --i, --j) { if (board[i][j] == player) { count++; } else { break; } } for (int i = row + 1, j = col + 1; i < N && j < N; ++i, ++j) { if (board[i][j] == player) { count++; } else { break; } } if (count >= 5) return true; // 检查左下-右上斜线 count = 0; for (int i = row, j = col; i >= 0 && j < N; --i, ++j) { if (board[i][j] == player) { count++; } else { break; } } for (int i = row + 1, j = col - 1; i < N && j >= 0; ++i, --j) { if (board[i][j] == player) { count++; } else { break; } } if (count >= 5) return true; return false; } // 检查是否平局 bool checkDraw() { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (board[i][j] == '-') { return false; } } } return true; } // 切换玩家 void switchPlayer() { if (currentPlayer == player1) { currentPlayer = player2; } else { currentPlayer = player1; } } // 处理一个回合 void handleTurn() { int row, col; cout << "轮到" << currentPlayer << "落子,请输入落子的行列号(如:3 4):"; cin >> row >> col; while (!isValidMove(row - 1, col - 1)) { cout << "无效的落子,请重新输入落子的行列号(如:3 4):"; cin >> row >> col; } makeMove(row - 1, col - 1, currentPlayer); printBoard(); if (checkWin(row - 1, col - 1, currentPlayer)) { cout << currentPlayer << "获胜!" << endl; isGameOver = true; } else if (checkDraw()) { cout << "平局!" << endl; isGameOver = true; } else { switchPlayer(); } } int main() { initBoard(); printBoard(); while (!isGameOver) { handleTurn(); } return 0; } ``` 在Eclipse中新建一个C++项目,将上述代码复制到main.cpp文件中,编译运行即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值