Стока ошибок я наделал пока набирал код... С некоторыми справился, а вот с этой не пойму что происходит:
WeaponType.h:14:13: error: two or more data types in declaration of 'WeaponName_None'
const char* WeaponName_None = "None";
А можно посмотреть блок кода пять строк вверх над это строкой и пять строк вниз под этой строкой? :)
да вот он весь:
#pragma once
#include "level.h"
enum WeaponType {
WeaponType_None,
WeaponType_Fist,
WeaponType_Stick,
WeaponType_Club,
WeaponType_Spear,
WeaponType_Saber,
}
//имена оружия
const char* WeaponName_None = "None";
const char* WeaponName_Fist = "Fist";
const char* WeaponName_Stick = "Stick";
const char* WeaponName_Club = "Club";
const char* WeaponName_Spear = "Spear";
const char* WeaponName_Saber = "Saber";
//возвращает название оружия
const char* GetWeaponName(WeaponType Weapon){
switch(WeaponType){
case WeaponType_Fist: return WeaponName_Fist;
case WeaponType_Stick: return WeaponName_Stick;
case WeaponType_Club: return WeaponName_Club;
case WeaponType_Spear: return WeaponName_Spear;
case WeaponType_Saber: return WeaponName_Saber;
}
return WeaponName_None;
}
//вернет цыфру какая штука сколько бьет
int GetWeaponDamage(WeaponType Weapon){
switch(WeaponType){
case WeaponType_Fist: return 2;
case WeaponType_Stick: return 16;
case WeaponType_Club: return 24;
case WeaponType_Spear: return 32;
case WeaponType_Saber: return 40;
}
return 0;
}
//вернет тип оружия в зависимости от символа
WeaponType GetWeaponTypeFromCell(unsigned char CellSymbol){
switch( CellSymbol ){
case CellSymbol_Stick: return WeaponType_Stick;
case CellSymbol_Club: return WeaponType_Club;
case CellSymbol_Spear: return WeaponType_Spear;
case CellSymbol_Saber: return WeaponType_Saber;
}
return WeaponType_None;
}
Скомпилировалось, но не запускается, типа не может запуститься на 64-разрядной системе (((
Запускались предыдущие проекты... Но я не делал там раскрашивание теста. Может в консольных штуках дело?
У вас приложение почему то получилось 16-ти разрядным, чего не должно быть, если создавали проект по инструкции из предыдущих статей. Перепроверьте порядок создания проекта, может где-то чего-то пропустили или выбрали не тот тип проекта.
Запускались предыдущие проекты... Но я не делал там раскрашивание теста. Может в консольных штуках дело? работаю в Notepad++. Не помню там настройки проекта или чего-то подобного.
Если в нотепаде работаешь то как компилируешь? Просто вызываешь компилятор (cl) напрямую? Так тоже не должно быть проблем, он по умолчанию создает 32-х разрядный экзешничек, который совместим с 64 битной системой.
Расскажи подробнее как у тебя происходит весь процесс разработки и билда, скорее всего ты что-то лишнего делаешь.
Там есть плагин, который связывается с компилятором (у меня он G++). Зовется плагин NPPexec
Может в компиляторе дело. Он у меня кириллицу не внемлет, например...
Если тебе по какой-то причине не нравится вижуал студия, ты можешь скачать её компилятор отдельно без самой студии.
https://www.microsoft.com/en-us/download/details.aspx?id=827... - ставь галочки на Visual C++ Compilers и Windows Headers and Libraries, остальные элементы не обязательны.
С этим компилятором работать придется из командной строки, например как я делал ниже в комментариях.
G++ под винду откуда брал? Всмысле, в какой среде выполняется? Cygwin?
И покажи команду с котрой запускается G++ из nppexec.
Я кажется понял в чем дело. Ты наверное запускаешь g++ из файла weaponType.h так не будет работать. G++ надо натравливать на cpp файл. Попробуй перейти на файл main.cpp и оттуда запустить g++.
я компилирую из main. Зачем мне компилировать подключаемые файлы? Блин. Сложная история какая-то ((
Я на всякий случай попробовал у себя скомпилировать код игры из командной строки, строится и запускается без проблем.