Суббота, 16 Ноября 2024, 19:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
Xe[N]oДата: Вторник, 10 Апреля 2012, 04:25 | Сообщение # 261
частый гость
Сейчас нет на сайте
Здравствуйте. Помогите пожалуйста, я не отличаюсь очень сильными знаниями C++, но знаю основы. Правда тут я сам справиться не могу (не было надобности использовать структуры в векторах). Компилятор жалуется на вектор.

Заранее благодарен за помощь. smile

Quote
1>main.obj : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: struct TGameObject & __thiscall std::vector<struct TGameObject,class std::allocator<struct TGameObject> >::operator[](unsigned int)" (много букв, жалуется система комментариев)
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>..\Bin\DefenseOfCargo.exe : fatal error LNK1120: 1 unresolved externals


Код:
Code
struct TGameObject
{
   TPoint2 coord;
   float angle, frame, koeff;

   TGameObject(TPoint2 _coord):
   coord(_coord), frame(0.f)
   {
   koeff = (float)(rand()%1000) / 1000.f;
   angle = (float)(rand()%360);
   }
};

std::vector<TGameObject> asteroids;


Сообщение отредактировал Xe[N]o - Вторник, 10 Апреля 2012, 04:25
warzesДата: Вторник, 10 Апреля 2012, 06:40 | Сообщение # 262
участник
Сейчас нет на сайте
данный код не при чем. Выложи весь. Проблема в том что не линкуется какая-то стандартная либа (на что тебе говорит libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW)

Мой блог
Вики DirectX
Xe[N]oДата: Вторник, 10 Апреля 2012, 06:57 | Сообщение # 263
частый гость
Сейчас нет на сайте
На лишние 3 инклуда внимание можно не обращать. Они пока пустые (на будущее, дабы не забыть smile )
Забыл сказать, я тут использую движок DGLE2, хотя это и так видно по инклудам.
Code
#include <Windows.h>
#include <vector>
#include "DGLE2.h"
#include "DGLE2_EXT.h"

#include "Globals.cpp"
#include "MainRender.cpp"
#include "MainProcess.cpp"

using namespace DGLE2;

ENG_DYNAMIC_FUNC

IEngineCore *pEngineCore = NULL;

void CALLBACK Render(void *pParametr);
void CALLBACK Free(void *pParametr);
void CALLBACK Process(void *pParametr);
void CALLBACK Init(void *pParametr);

uint uiShipWidth, uiShipHeight;
TPoint2 stShipCoord;
IParticleEmitter *pLeftSoplo = NULL, *pRightSoplo = NULL;

#define SCREEN_WIDTH 1024
#define SCREEN_HEIGHT 768
#define ASTEROID_SIZE 100
#define MAX_STARS 200

TPoint2 stars[MAX_STARS];

IResourceManager *pResourceManager = NULL;
IRender *pRender = NULL;
IInput *pInput = NULL;

IRender2D *pRender2D = NULL;

IMesh *pMeshAsteroid = NULL;
ITexture *pTexAsteroid = NULL, *pTexExplo = NULL,
*pTexPlasma = NULL, *pTexShip = NULL, *pTexSpace = NULL;
ISoundSample *pSndExplo = NULL, *pSndPlasma = NULL;
IBitmapFont *pFntMain = NULL;
IMusic *pMusic = NULL;
IParticleEffect *pFxFlame = NULL;

struct TGameObject
{
  TPoint2 coord;
  float angle, frame, koeff;

  TGameObject(TPoint2 _coord):
  coord(_coord), frame(0.f)
  {
  koeff = (float)(rand()%1000) / 1000.f;
  angle = (float)(rand()%360);
  }
};

std::vector<TGameObject> asteroids;

void CALLBACK Init(void *pParametr)
{
  pEngineCore->GetSubSystem(ESS_RESOURCE_MANAGER, (IEngineSubSystem *&)pResourceManager);
  pEngineCore->GetSubSystem(ESS_RENDER, (IEngineSubSystem *&)pRender);
  pEngineCore->GetSubSystem(ESS_INPUT, (IEngineSubSystem *&)pInput);

  pInput->Configure(ICF_HIDE_CURSOR);
   
  pRender->GetRender2D(pRender2D);

  #define RESOURCE_PATH "Data.zip|"

  pResourceManager->Load(RESOURCE_PATH"asteroid.dmd", (IEngBaseObj*&)pMeshAsteroid);
  pResourceManager->Load(RESOURCE_PATH"asteroid.jpg", (IEngBaseObj*&)pTexAsteroid);
  pResourceManager->Load(RESOURCE_PATH"explo.bmp", (IEngBaseObj*&)pTexExplo);
  pResourceManager->Load(RESOURCE_PATH"plasma.bmp", (IEngBaseObj*&)pTexPlasma);
  pResourceManager->Load(RESOURCE_PATH"ship.png", (IEngBaseObj*&)pTexShip);
  pResourceManager->Load(RESOURCE_PATH"space.bmp", (IEngBaseObj*&)pTexSpace);
  pResourceManager->Load(RESOURCE_PATH"expl.wav", (IEngBaseObj*&)pSndExplo);
  pResourceManager->Load(RESOURCE_PATH"plasma.wav", (IEngBaseObj*&)pSndPlasma);
  pResourceManager->Load(RESOURCE_PATH"the_hard_18.dft", (IEngBaseObj*&)pFntMain);
  pResourceManager->Load(RESOURCE_PATH"music.mid", (IEngBaseObj*&)pMusic);
  pResourceManager->Load(RESOURCE_PATH"flame.dpt", (IEngBaseObj*&)pFxFlame);
   
  pMusic->Play();

  for(int i = 0; i < MAX_STARS; i++)
  stars[i] = TPoint2((float)(rand()%SCREEN_WIDTH), (float)(rand()%SCREEN_HEIGHT));

  stShipCoord.x = 512;
  stShipCoord.y = 650;

  pFxFlame->CreateEmitter(pLeftSoplo, false);
  pFxFlame->CreateEmitter(pRightSoplo, false);
  pLeftSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth/3 +25, stShipCoord.y + uiShipHeight +64, 0.f));
  pRightSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth +40 - uiShipWidth/3, stShipCoord.y + uiShipHeight +64, 0.f));

}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{

  if(GetEngine("DGLE2.dll", pEngineCore))
  {
  pEngineCore->InitializeEngine(
   NULL, "Cargo Defense", TEngWindow(1024, 768, true), 33,
#ifdef _DEBUG
    EIF_DEFAULT
#else
    EIF_CATCH_UNHANDLED
#endif
    );
  pEngineCore->AddProcedure(EPT_INIT, &Init);
  pEngineCore->AddProcedure(EPT_RENDER, &Render);
  pEngineCore->AddProcedure(EPT_PROCESS, &Process);
  pEngineCore->AddProcedure(EPT_FREE, &Free);
  pEngineCore->StartEngine();

  FreeEngine();
  }

  else MessageBoxA(NULL,"Couldn't load \"DGLE2.dll\"!", "Cargo Defense", MB_OK | MB_ICONERROR);

  return 0;
}

uint uiCounter = 0;
bool bIsGame = false;

void ProcessTitle()
{
  for(uint i = 0; i < uiCounter % 5; i++)
  stars[rand()%MAX_STARS] = TPoint2((float)(rand()%SCREEN_WIDTH), (float)(rand()%SCREEN_HEIGHT));

  pInput->GetKey(KEY_SPACE, bIsGame);
}

void RenderTitle()
{
  pTexSpace->Draw2D(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);

  for(int i = 0; i < MAX_STARS; i++)
  pRender2D->DrawPoint(stars[i], TColor4(), 2);

  const char txt_1[] = "Brave Spaceship", txt_2[] = "Press \"Space\" to start!";
  uint w, h;
   
  pFntMain->SetScale((float)(2.f + sin((float)uiCounter/5.f)*0.25));
  pFntMain->GetTextDimensions(txt_1, w, h);
  pFntMain->Draw2D((SCREEN_WIDTH - w)/2, 100, txt_1);

  pFntMain->SetScale(1.f);
  pFntMain->GetTextDimensions(txt_2, w, h);
  pFntMain->Draw2D((SCREEN_WIDTH - w)/2, SCREEN_HEIGHT - 200, txt_2);
}

void ProcessGame()
{
  for(int i = 0; i < MAX_STARS; i++)
  {
  if(i < MAX_STARS/2)
  stars[i].y += 2.5;
  else
  stars[i].y += 3.5;

  if(stars[i].y > SCREEN_HEIGHT) stars[i].y = 0;
  }

  bool key_pressed;

  pInput->GetKey(KEY_A, key_pressed);
  if(key_pressed)
  {
  stShipCoord.x -= 4;
  if(stShipCoord.x < 0) stShipCoord.x = 0;
  }

  pInput->GetKey(KEY_D, key_pressed);
  if(key_pressed)
  {
  stShipCoord.x += 4;
  if(stShipCoord.x + uiShipWidth > SCREEN_WIDTH) stShipCoord.x = SCREEN_WIDTH - uiShipWidth;
  }

  pLeftSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth/3 +25, stShipCoord.y + uiShipHeight +64, 0.f));
  pRightSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth - uiShipWidth/3 +40, stShipCoord.y + uiShipHeight +64, 0.f));

  if(rand() % 20 == 10)
  asteroids.push_back(TGameObject(TPoint2((float)(rand()%SCREEN_WIDTH), -ASTEROID_SIZE)));

  int i = 0;
  while(i < (int)asteroids.size())
  {
  asteroids[i].coord.y += 5.f - asteroids[i].koeff;
  asteroids[i].angle += 2.f;

  if(asteroids[i].coord.y - ASTEROID_SIZE > SCREEN_HEIGHT)
  {
  asteroids.erase(asteroids.begin() + i);
  i--;
  }

  i++;
  }

}

void RenderGame()
{
  pTexSpace->Draw2D(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);

  for(int i = 0; i < MAX_STARS; i++)
  pRender2D->DrawPoint(stars[i], TColor4(), 2);

  pTexShip->Draw2DSimple((int)stShipCoord.x, (int)stShipCoord.y);
  pFxFlame->Draw2D();

  for(uint i = 0; i < asteroids.size(); i++)
  {
  pRender2D->DrawMesh(pMeshAsteroid, pTexAsteroid, asteroids[i].coord,
  TPoint3(ASTEROID_SIZE*asteroids[i].koeff, ASTEROID_SIZE*asteroids[i].koeff, ASTEROID_SIZE*asteroids[i].koeff),
  TPoint3(asteroids[i].koeff, 0.2f, 0.5f), asteroids[i].angle, false);
  }
}

void CALLBACK Process(void *pParametr)
{
  if(bIsGame)
  ProcessGame();
  else
  ProcessTitle();

  bool key_pressed;
  pInput->GetKey(KEY_ESCAPE, key_pressed);
  if(key_pressed) pEngineCore->QuitEngine();
   
  uiCounter++;
}

void CALLBACK Render(void *pParametr)
{
  pRender2D->Begin2D();

  if(bIsGame)
  RenderGame();
  else
  RenderTitle();

  pRender2D->End2D();
}

void CALLBACK Free(void *pParametr)
{
  pFxFlame->KillAllEmitters();
}
goldsphereДата: Вторник, 10 Апреля 2012, 12:56 | Сообщение # 264
заслуженный участник
Сейчас нет на сайте
Подскажите, какое применение у указателей в создании игр или просто работе программиста?

FinderX - Android Аркада
vasua99Дата: Вторник, 10 Апреля 2012, 17:09 | Сообщение # 265
GNU follower
Сейчас нет на сайте
гибкость это раз 1,в стеке может быть до 1 мб данных(в винде),а в куче может быть сколько угодно(в пределах размера памяти)

Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
Xe[N]oДата: Среда, 11 Апреля 2012, 09:11 | Сообщение # 266
частый гость
Сейчас нет на сайте
Не хочу показаться навязчивым, но у меня разработка стоит...))
FaetonДата: Среда, 11 Апреля 2012, 10:23 | Сообщение # 267
частый гость
Сейчас нет на сайте
по поводу кода
struct TGameObject
{
TPoint2 coord;
float angle, frame, koeff;

TGameObject(TPoint2 _coord):
coord(_coord), frame(0.f)
{
koeff = (float)(rand()%1000) / 1000.f;
angle = (float)(rand()%360);
}
};
вы уверены, что при определении структуры TGameObject можно использовать в качестве поля объект TGameObject?
короче, поле не должно быть TGameObject. выход: использование указателей
Xe[N]oДата: Среда, 11 Апреля 2012, 11:21 | Сообщение # 268
частый гость
Сейчас нет на сайте
Кстати да, что-то я тут не заметил это... Просто по уроку делал, движок осваиваю.
Спасибо огромное за помощь.)
ТритонДата: Воскресенье, 15 Апреля 2012, 14:41 | Сообщение # 269
постоянный участник
Сейчас нет на сайте
Quote
Компилятор: Default GCC compiler
Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win"
Выполнение make...
mingw32-make.exe -f "Makefile.win" all
g++.exe "Objects/MingW/SeaJackals.o" -o "Output/MingW/SeaJackals.exe" -L"C:/Program Files (x86)/Dev-Cpp/Lib" -mwindows -lwxmsw28 -lwxmsw28_gl -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregex -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lopengl32
mingw32-make.exe: *** [Output/MingW/SeaJackals.exe] Error 1
Выполнение завершено
Compilation Failed. Make returned 2
Как с этим бороться?

Добавлено (15.04.2012, 14:08)
---------------------------------------------

Quote (clidi)
TimKruz, Дело в том, что это упражнение находится до глав про массивы. Конечно твой вариант хорош, но есть идеи как это сделать без массивов?
Это как? Поиск в массиве без самого массива? Бред полный.

Добавлено (15.04.2012, 14:23)
---------------------------------------------

Quote (SWFcreator)
Спасибо, но new категорически не подходит. Для var еще не раз будет вызываться realloc(), а я слышал, она не работает с памятью, выделенной new, да и с ним встает точно та же проблема.
realloc не может вызвать конструкторы/деструкторы. Поэтому заверни свой указатель в класс-контейнер и юзай метод resize, в котором создавай по new буфер, потом в цикле копируй все существующие и сохраняемые элементы, в конце delete [] на основной указатель, потом ему присваиваешь свой буфер.

Добавлено (15.04.2012, 14:24)
---------------------------------------------

Quote (0x90)
Тогда никак. malloc-оператор языка С, а в С никаких классов(а значит и конструкторов) нет. Сожалею
Бред несёшь. Это не оператор, а функция.

Добавлено (15.04.2012, 14:29)
---------------------------------------------

Quote (0x90)
Знаете, честно говоря это маразм. Размер класса не меняется динамически, для указателей на классы нет необходимости вызывать realloc
Ещё бредовее. Основное назначение переменных-указателей - динамические контейнеры: массивы, списки, деревья. Класс же контейнера имеет переменный размер данных. Стандартный класс string прочитай - узнаешь много нового. И меняется не размер объекта, а количество объектов.

Добавлено (15.04.2012, 14:35)
---------------------------------------------

Quote (Батлфилдер)
switch (choose);
{
case 1: cout << "Текст";break;
case 2: cout << "Текст";break;
сase 3: cout << "Проигрыш";break;
default: cout << "Текст";
}

VStudio пишет в списке ошибок:
1|error C2046 недопустимый вариант выбора
2|error C2046 недопустимый вариант выбора
3|error C2046 недопустимый вариант выбора
4|error C2043 недопустимый break
6|error C2043 недопустимый break
9|error C2043 недопустимый break
8|error C2047 недопустимый вариант, используемый по умолчанию

Почему?

Quote (Батлфилдер)
switch (choose);
{
case 1: cout << "Текст";break;
case 2: cout << "Текст";break;
сase 3: cout << "Проигрыш";break;
default: cout << "Текст";
}

VStudio пишет в списке ошибок:
1|error C2046 недопустимый вариант выбора
2|error C2046 недопустимый вариант выбора
3|error C2046 недопустимый вариант выбора
4|error C2043 недопустимый break
6|error C2043 недопустимый break
9|error C2043 недопустимый break
8|error C2047 недопустимый вариант, используемый по умолчанию

Почему?
Потому что switch - не завершённый оператор, ему не нужна точка с запятой, как и for, if, else.

Добавлено (15.04.2012, 14:41)
---------------------------------------------

Quote (xPFaN)
А так же привык в Basic вводить переменные Dim. Возможно ли приравнять int к Dim и вводить переменные посредством Dim?
А куда ты засунешь as double, например? c++ для сионистов, если не можешь освоить его синтаксис, то не пиши.


Не всё так плохо, как оно есть на самом деле.
SWFcreatorДата: Воскресенье, 15 Апреля 2012, 14:42 | Сообщение # 270
участник
Сейчас нет на сайте
Quote (Тритон)
realloc не может вызвать конструкторы/деструкторы. Поэтому заверни свой указатель в класс-контейнер и юзай метод resize, в котором создавай по new буфер, потом в цикле копируй все существующие и сохраняемые элементы, в конце delete [] на основной указатель, потом ему присваиваешь свой буфер.

Спасибо, я уже писал свой realloc таким методом, но потом поближе познакомился со string и понял, что за меня уже все сделано.
ТритонДата: Понедельник, 16 Апреля 2012, 07:22 | Сообщение # 271
постоянный участник
Сейчас нет на сайте
Quote (masb8ly-GC)
Здравствуйте! Вопрос такого характера. Как прочитать текст из файла ровно до конца файла и не символом больше?
Вопрос не в этом, а в том, как ты умудрился прочитать больше.

Добавлено (15.04.2012, 14:48)
---------------------------------------------

Quote (RomanNVKZ)
В том то и проблема, что компилятор не даёт мне этого сделать...
Открой его пабликом.

Добавлено (15.04.2012, 14:52)
---------------------------------------------

Quote (Gavolot)
Люди C++ только изучаю, наконец все подготовил и Dev C++ и книги по самому языку, так-вот на будущее, чисто любопытственный вопрос. А на C++ можно будет писать на любые платформы без проблем, только лишь то что язык сложнее или там будут (я просто плохо себе это представляю) проблемы с выискиванием того-же Java байт кода и т.п.?
А на бейсике надо вспоминать сёвые спецификаторы функции спринтф. А на паскале в реализации для интелла - мнемоники ассемблера для спектрума. Как вообще c++ связан с кодами другого языка?

Добавлено (16.04.2012, 07:22)
---------------------------------------------

Quote
Компилятор: Default GCC compiler
Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win"
Выполнение make...
mingw32-make.exe -f "Makefile.win" all
g++.exe "Objects/MingW/SeaJackals.o" -o "Output/MingW/SeaJackals.exe" -L"C:/Program Files (x86)/Dev-Cpp/Lib" -mwindows -lwxmsw28 -lwxmsw28_gl -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregex -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lopengl32
mingw32-make.exe: *** [Output/MingW/SeaJackals.exe] Error 1
Выполнение завершено
Compilation Failed. Make returned 2

Как с этим бороться?


Не всё так плохо, как оно есть на самом деле.
НохчиДата: Понедельник, 16 Апреля 2012, 07:25 | Сообщение # 272
заслуженный участник
Сейчас нет на сайте
Quote (Тритон)
Как с этим бороться?

Настроить правильно среду
Конкретнее по этому логу ничего сказать нельзя.


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Понедельник, 16 Апреля 2012, 07:25
ТритонДата: Понедельник, 16 Апреля 2012, 08:36 | Сообщение # 273
постоянный участник
Сейчас нет на сайте
Quote (Нохчи)
Настроить правильно среду
Думаешь, я сам до этого не допёр?
Quote (Нохчи)
Конкретнее по этому логу ничего сказать нельзя.

А зачем тогда постишь? Не можешь сразу сказать, что именно надо исправить, скажи, откуда начинать поиск проблемы, какие нужны окна, файлы.


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Понедельник, 16 Апреля 2012, 08:36
НохчиДата: Вторник, 17 Апреля 2012, 05:36 | Сообщение # 274
заслуженный участник
Сейчас нет на сайте
Для начала очисти проект и попробуй собрать заново(rebuild). При создании проекта юзал темплейт?
Quote (Тритон)
"C:/Program Files (x86)/Dev-Cpp/Lib

Библиотеки wxWidgets лежат в этой директории?


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Вторник, 17 Апреля 2012, 05:42
ТритонДата: Вторник, 17 Апреля 2012, 07:13 | Сообщение # 275
постоянный участник
Сейчас нет на сайте
Quote (Нохчи)
При создании проекта юзал темплейт?
Вот всё, что в нём написано:
Code
//=================================================================================================
#include <windows.h>
//=================================================================================================
bool        InitApplication (                      );
//=================================================================================================
int  WINAPI WinMain         (HINSTANCE  Instance   ,
                     HINSTANCE  Previus    ,
                     LPSTR      CommandLine,
                     int        Show       )
{
   if (InitApplication())
   {
   }
   return 0;
}
//=================================================================================================
bool        InitApplication (                      )
{
   return true;
}
//=================================================================================================
, причём, в проект этот файл добавлен.

Добавлено (17.04.2012, 07:09)
---------------------------------------------
Quote (Нохчи)
Библиотеки wxWidgets
А что это такое?

Добавлено (17.04.2012, 07:11)
---------------------------------------------
Quote (Нохчи)
Для начала очисти проект
Quote

Компилятор: Default GCC compiler
Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win"
Выполнение make clean
rm -f "Objects/MingW/SeaJackals.o" "Output/MingW/SeaJackals.exe"

mingw32-make.exe: *** [clean] Error 1

Выполнение завершено
Compilation Failed. Make returned 2

Добавлено (17.04.2012, 07:13)
---------------------------------------------

Quote (Нохчи)
попробуй собрать заново(rebuild).
Quote
Компилятор: Default GCC compiler
Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win"
Выполнение make clean
rm -f "Objects/MingW/SeaJackals.o" "Output/MingW/SeaJackals.exe"

mingw32-make.exe: *** [clean] Error 1

Выполнение завершено
Compilation Failed. Make returned 2


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Вторник, 17 Апреля 2012, 07:12
НохчиДата: Вторник, 17 Апреля 2012, 07:24 | Сообщение # 276
заслуженный участник
Сейчас нет на сайте
Quote (Тритон)
А что это такое?

Библиотека для создания GUI, из твоего лога видно, что ты пытаешься подключить ее к проекту. А вот то, что не удается очистить проект очень странно. У тебя "hello world" собирается?
Что ты пишешь(консольное приложение или ГУИ)?


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Вторник, 17 Апреля 2012, 07:25
ТритонДата: Вторник, 17 Апреля 2012, 14:57 | Сообщение # 277
постоянный участник
Сейчас нет на сайте
Quote (Нохчи)
У тебя "hello world" собирается?
Он для меня слишком сложен. И посмотри ка исходник. Где там гуй?

Добавлено (17.04.2012, 14:57)
---------------------------------------------
Quote (Нохчи)
Что ты пишешь(консольное приложение или ГУИ)?
Ну в принципе гуй, но пока там нет даже создания окна. Почти пустой Winmain + ещё одна совсем пустая функция.


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Вторник, 17 Апреля 2012, 14:59
НохчиДата: Вторник, 17 Апреля 2012, 15:11 | Сообщение # 278
заслуженный участник
Сейчас нет на сайте
Quote
Он для меня слишком сложен.

Имелось ввиду, у тебя обычные консольные приложения сделанные не на темплейтах собираются?
Quote
И посмотри ка исходник. Где там гуй?

WinMain - точка входа гуевых приложений.


Многие вопросы по Windows отпадут, если посмотреть тут
ТритонДата: Среда, 18 Апреля 2012, 07:09 | Сообщение # 279
постоянный участник
Сейчас нет на сайте
Quote (Нохчи)
Имелось ввиду, у тебя обычные консольные приложения сделанные не на темплейтах собираются?
А ты думаешь, я умею писать консольные подоконники?

Добавлено (18.04.2012, 07:09)
---------------------------------------------

Quote (Нохчи)
WinMain - точка входа гуевых приложений.
Ты думаешь, что я этого не знаю? Но сам гуй ещё не прописан.


Не всё так плохо, как оно есть на самом деле.
НохчиДата: Среда, 18 Апреля 2012, 16:51 | Сообщение # 280
заслуженный участник
Сейчас нет на сайте
Quote (Тритон)
А ты думаешь, я умею писать консольные подоконники?

Хе-хе, забавно выглядит, когда человек не понимающий самых основ пытается острить bag

Quote (Тритон)
Ты думаешь, что я этого не знаю? Но сам гуй ещё не прописан.

Плевать что там прописано, вопрос о ключе линкера /SUBSYSTEM.

Судя по ответам помощь больше не нужна.


Многие вопросы по Windows отпадут, если посмотреть тут
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг