Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
#1

Ошибка error MSB4018 - C++

15.08.2013, 07:27. Просмотров 1380. Ответов 14
Метки нет (Все метки)

Не стоит меня посылать мучать гугл в поисках ответа, уже сделал и не нашёл ответа на свой вопрос.
Я написал пример из книги Френк Д. Луна - Программирование трехмерных игр с DirectX 9 и VS выдала мне ошибку, с которой я ранее не встречался.
Вот привожу код
D3DUtility.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef D3DUTILITY_H
#define D3DUTILITY_H
 
#include<d3dx9.h>
#include<string>
#include<Windows.h>
 
namespace d3d{
 
    bool InitD3D(
            HINSTANCE hinstance,
            int width, int height,
            bool windowed,
            D3DDEVTYPE DeviceType,
            IDirect3DDevice9** device
        );
 
    int EnterMsgLoop(
            bool (*ptr_display)(float timeDelta)
        );
 
    LRESULT CALLBACK WndProc(
            HWND hwnd,
            UINT msg,
            WPARAM wParam,
            LPARAM lParam
        );
 
    void FailMsg(wchar_t *error)
    {
        wcscat(L" - FAILED", error);
        MessageBox(NULL, error, L"Error", MB_OK);
    }
 
    template<class T> void Release(T t)
    {
        if(t)
        {
            t->Release();
            t = 0;
        }
    }
 
    template<class T> void Delete(T t)
    {
        if(t)
        {
            delete t;
            t = 0;
        }
    }
 
    const D3DXCOLOR     WHITE( D3DCOLOR_XRGB(255, 255, 255) );
    const D3DXCOLOR     BLACK( D3DCOLOR_XRGB(  0,   0,   0) );
    const D3DXCOLOR       RED( D3DCOLOR_XRGB(255,   0,   0) );
    const D3DXCOLOR     GREEN( D3DCOLOR_XRGB(  0, 255,   0) );
    const D3DXCOLOR      BLUE( D3DCOLOR_XRGB(  0,   0, 255) );
    const D3DXCOLOR    YELLOW( D3DCOLOR_XRGB(255, 255,   0) );
    const D3DXCOLOR      CYAN( D3DCOLOR_XRGB(  0, 255, 255) );
    const D3DXCOLOR   MAGENTA( D3DCOLOR_XRGB(255,   0, 255) );
 
    D3DLIGHT9 InitDirectionalLight(D3DXVECTOR3* direction, D3DXCOLOR* color);
    D3DLIGHT9 InitPointLight(D3DXVECTOR3* position, D3DXCOLOR* color);
    D3DLIGHT9 InitSpotLight(D3DXVECTOR3* position, D3DXVECTOR3* direction, D3DXCOLOR* color);
 
    D3DMATERIAL9 InitMtrl(
                D3DXCOLOR ambient,
                D3DXCOLOR diffuse,
                D3DXCOLOR specular,
                D3DXCOLOR emissive,
                float power
            );
 
    const D3DMATERIAL9 WHITE_MTRL   = InitMtrl(WHITE, WHITE, WHITE, YELLOW, 2.0f);
    const D3DMATERIAL9 RED_MTRL     = InitMtrl(RED, RED, RED, BLACK, 2.0f);
    const D3DMATERIAL9 GREEN_MTRL   = InitMtrl(GREEN, GREEN, GREEN, BLACK, 2.0f);
    const D3DMATERIAL9 BLUE_MTRL    = InitMtrl(BLUE, BLUE, BLUE, BLACK, 2.0f);
    const D3DMATERIAL9 YELLOW_MTRL  = InitMtrl(YELLOW, YELLOW, YELLOW, BLACK, 2.0f);
}
 
#endif D3DUTILITY_H

D3DUtility.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
#include "D3DUtility.h"
 
bool d3dInitD3D(
        HINSTANCE hInstance,
        int width, int height,
        bool windowed,
        D3DDEVTYPE deviceType,
        IDirect3DDevice9** device)
{
    WNDCLASSEX wc;
 
    wc.cbSize           = sizeof(WNDCLASSEX);
    wc.style            = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc      = (WNDPROC)d3dWndProc;
    wc.cbClsExtra       = 0;
    wc.cbWndExtra       = 0;
    wc.hInstance        = hInstance;
    wc.hIcon            = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor          = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground    = (HBRUSH)GetStockObject(WHITE_BRUSH + 1);
    wc.lpszMenuName     = 0;
    wc.lpszClassName    = L"Direct3D9App";
 
    if(!RegisterClassEx(&wc))
    {
        d3dFailMsg(L"RegisterClass()");
        return false;
    }
 
    HWND hWnd;
 
    hWnd = CreateWindow(
            L"Direct3D9App",
            L"Direct3D9App",
            WS_EX_TOPMOST,
            CW_USEDEFAULT, CW_USEDEFAULT,
            width, height,
            NULL,NULL,
            hInstance, NULL
        );
 
    if(!hWnd)
    {
        d3dFailMsg(L"CreateWindow");
        return false;
    }
 
    ShowWindow(hWnd, SW_SHOW);
    UpdateWindow(hWnd);
 
 
    HRESULT hr = 0;
 
    IDirect3D9* pd3d = 0;
    pd3d = Direct3DCreate9(D3D_SDK_VERSION);
 
    if(!pd3d)
    {
        d3dFailMsg(L"Direct3Dcreate9()");
        return false;
    }
 
    D3DCAPS9 caps;
    pd3d->GetDeviceCaps(D3DADAPTER_DEFAULT, deviceType, &caps);
 
    int vp = 0;
 
    if(caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)
        vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
    else
        vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
 
    D3DPRESENT_PARAMETERS d3dpp;
    D3DDISPLAYMODE d3ddm;
 
    pd3d->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm);
 
    d3dpp.BackBufferWidth           = width;
    d3dpp.BackBufferHeight          = height;
    d3dpp.BackBufferFormat          = d3ddm.Format;
    d3dpp.BackBufferCount           = 1;
    d3dpp.MultiSampleType           = D3DMULTISAMPLE_NONE;
    d3dpp.MultiSampleQuality        = 0;
    d3dpp.SwapEffect                = D3DSWAPEFFECT_DISCARD;
    d3dpp.hDeviceWindow             = hWnd;
    d3dpp.Windowed                  = windowed;
    d3dpp.EnableAutoDepthStencil    = true;
    d3dpp.AutoDepthStencilFormat    = D3DFMT_D24S8;
    d3dpp.Flags                     = 0;
    d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
    d3dpp.PresentationInterval      = D3DPRESENT_INTERVAL_IMMEDIATE;
 
 
    hr = pd3d->CreateDevice(
            D3DADAPTER_DEFAULT,
            deviceType,
            hWnd,
            vp,
            &d3dpp,
            device
        );
 
    if(FAILED(hr))
    {
        pd3d->Release();
        d3dFailMsg(L"CreateDevice()");
        return false;
    }
 
    pd3d->Release();
 
    return true;
}
 
int d3dEnterMsgLoop(
            bool (*ptr_display)(float timeDelta)
        )
{
    MSG msg;
    ZeroMemory(&msg, sizeof(MSG));
 
    static float lastTime = (float)timeGetTime();
 
    while(msg.message != WM_QUIT)
    {
        if(PeekMessage(&msg, 0, 0, 0,PM_REMOVE))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else
        {
            float currTime  = (float)timeGetTime();
            float timeDelta = (currTime - lastTime)*0.001f;
 
            ptr_display(timeDelta);
 
            lastTime = currTime;
        }
    }
 
    return msg.wParam;
}
 
 
D3DLIGHT9 d3dInitDirectionalLight(
            D3DXVECTOR3* direction,
            D3DXCOLOR* color
        )
{
    D3DLIGHT9 light;
    ZeroMemory(&light, sizeof(light));
 
    light.Type      = D3DLIGHT_DIRECTIONAL;
    light.Ambient   = *color * 0.6f;
    light.Diffuse   = *color;
    light.Specular  = *color * 0.6f;
    light.Direction = *direction;
 
    return light;
}
 
D3DLIGHT9 d3dInitPointLight(
            D3DXVECTOR3* position,
            D3DXCOLOR* color
        )
{
    D3DLIGHT9 light;
    ZeroMemory(&light, sizeof(light));
 
    light.Type          = D3DLIGHT_POINT;
    light.Ambient       = *color * 0.6f;
    light.Diffuse       = *color;
    light.Specular      = *color * 0.6f;
    light.Position      = *position;
    light.Range         = 1000.0f;
    light.Falloff       = 1.0f;
    light.Attenuation0  = 1.0f;
    light.Attenuation1  = 0.0f;
    light.Attenuation2  = 0.0f;
 
    return light;
}
 
D3DLIGHT9 d3dInitSpotLight(
            D3DXVECTOR3* position,
            D3DXVECTOR3* direction,
            D3DXCOLOR* color
        )
{
    D3DLIGHT9 light;
    ZeroMemory(&light, sizeof(light));
 
    light.Type          = D3DLIGHT_SPOT;
    light.Ambient       = *color * 0.0f;
    light.Diffuse       = *color;
    light.Specular      = *color * 0.6f;
    light.Position      = *position;
    light.Direction     = *direction;
    light.Range         = 1000.0f;
    light.Falloff       = 1.0f;
    light.Attenuation0  = 1.0f;
    light.Attenuation1  = 0.0f;
    light.Attenuation2  = 0.0f;
    light.Theta         = 0.4f;
    light.Phi           = 0.9f;
 
    return light;
}
 
D3DMATERIAL9 d3dInitMtrl(
            D3DXCOLOR ambient,
            D3DXCOLOR diffuse,
            D3DXCOLOR specular,
            D3DXCOLOR emissive,
            float power
        )
{
    D3DMATERIAL9 mtrl;
    mtrl.Ambient    = ambient;
    mtrl.Diffuse    = diffuse;
    mtrl.Specular   = specular;
    mtrl.Emissive   = emissive;
    mtrl.Power      = power;
 
    return mtrl;
}

LitPyramid.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#include "D3DUtility.h"
 
IDirect3DDevice9* device = NULL;
 
const int width = 640;
const int height = 480;
 
IDirect3DVertexBuffer9* pyramid = NULL;
 
struct Vertex
{
    Vertex(){}
 
    Vertex(
        float x, float y,float z,
        float nx, float ny, float nz
        )
    {
        _x = x;   _y = y;   _z = z;
        _nx = nx; _ny = ny; _nz = nz;
    }
 
    float _x, _y, _z;
    float _nx, _ny, _nz;
 
    static const DWORD FVF;
};
const DWORD Vertex::FVF = D3DFVF_XYZ | D3DFVF_NORMAL;
 
bool Setup()
{
    device->SetRenderState(D3DRS_LIGHTING, true);
 
    device->CreateVertexBuffer(
                12*sizeof(Vertex),
                D3DUSAGE_WRITEONLY,
                Vertex::FVF,
                D3DPOOL_MANAGED,
                &pyramid, 0
            );
 
    Vertex* v;
    pyramid->Lock(
            0, 0,
            (void**)&v, 0
        );
 
    // front face
    v[0] = Vertex(-1.0f, 0.0f, -1.0f, 0.0f, 0.707f, -0.707f);
    v[1] = Vertex( 0.0f, 1.0f,  0.0f, 0.0f, 0.707f, -0.707f);
    v[2] = Vertex( 1.0f, 0.0f, -1.0f, 0.0f, 0.707f, -0.707f);
 
    // left face
    v[3] = Vertex(-1.0f, 0.0f,  1.0f, -0.707f, 0.707f, 0.0f);
    v[4] = Vertex( 0.0f, 1.0f,  0.0f, -0.707f, 0.707f, 0.0f);
    v[5] = Vertex(-1.0f, 0.0f, -1.0f, -0.707f, 0.707f, 0.0f);
 
    // right face
    v[6] = Vertex( 1.0f, 0.0f, -1.0f, 0.707f, 0.707f, 0.0f);
    v[7] = Vertex( 0.0f, 1.0f,  0.0f, 0.707f, 0.707f, 0.0f);
    v[8] = Vertex( 1.0f, 0.0f,  1.0f, 0.707f, 0.707f, 0.0f);
 
    // back face
    v[9]  = Vertex( 1.0f, 0.0f,  1.0f, 0.0f, 0.707f, 0.707f);
    v[10] = Vertex( 0.0f, 1.0f,  0.0f, 0.0f, 0.707f, 0.707f);
    v[11] = Vertex(-1.0f, 0.0f,  1.0f, 0.0f, 0.707f, 0.707f);
 
    pyramid->Unlock();
 
    D3DMATERIAL9 mtrl;
    mtrl.Ambient    = d3d::WHITE;
    mtrl.Diffuse    = d3d::WHITE;
    mtrl.Specular   = d3d::WHITE;
    mtrl.Emissive   = d3d::BLACK;
    mtrl.Power      = 5.0f;
 
    device->SetMaterial(&mtrl);
 
    D3DLIGHT9 DirLight;
    ZeroMemory(&DirLight, sizeof(D3DLIGHT9));
 
    DirLight.Type       = D3DLIGHT_DIRECTIONAL;
    DirLight.Diffuse    = d3d::WHITE;
    DirLight.Specular   = d3d::WHITE * 0.3f;
    DirLight.Ambient    = d3d::WHITE * 0.6f;
    DirLight.Direction  = D3DXVECTOR3(1.0f, 0.0f, 0.0f);
 
    device->SetLight(0, &DirLight);
    device->LightEnable(0, true);
 
    device->SetRenderState(D3DRS_NORMALIZENORMALS, true);
    device->SetRenderState(D3DRS_SPECULARENABLE, true);
 
 
    D3DXVECTOR3 pos(0.0f, 1.0f, -3.0f);
    D3DXVECTOR3 target(0.0f, 0.0f, 0.0f);
    D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);
    D3DXMATRIX  ViewMatrix;
    D3DXMatrixLookAtLH(
            &ViewMatrix,
            &pos,
            &target,
            &up
        );
 
    device->SetTransform(D3DTS_VIEW, &ViewMatrix);
 
    D3DXMATRIX ProjMatrix;
    D3DXMatrixPerspectiveFovLH(
            &ProjMatrix,
            D3DX_PI/2,
            (float)width/(float)height,
            1.0f,1000.0f
        );
 
    device->SetTransform(D3DTS_PROJECTION, &ProjMatrix);
 
    return true;
}
 
void Cleanup()
{
    d3d::Release<IDirect3DVertexBuffer9*>(pyramid);
}
 
bool display(float timeDelta)
{
    if(device)
    {
        D3DXMATRIX yRot;
        static float y = 0.0f;
 
        D3DXMatrixRotationY(&yRot, y);
        y += timeDelta;
 
        if(y >= 6.28f)
            y = 0.0f;
 
        device->SetTransform(D3DTS_WORLD, &yRot);
 
        device->Clear(
                0,0,
                D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
                0x00000000, 1.0f, 0
            );
        device->BeginScene();
 
        device->SetStreamSource(
                0, pyramid,
                0, sizeof(Vertex)
            );
        device->SetFVF(Vertex::FVF);
        device->DrawPrimitive(
                D3DPT_TRIANGLELIST,
                0, 4
            );
 
        device->EndScene();
        device->Present(0, 0, 0, 0);
    }
    return true;
}
 
LRESULT CALLBACK d3d::WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch( msg )
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
        
    case WM_KEYDOWN:
        if( wParam == VK_ESCAPE )
            DestroyWindow(hwnd);
        break;
    }
    return DefWindowProc(hwnd, msg, wParam, lParam);
}
 
int WINAPI WinMain(
        HINSTANCE hInstance,
        HINSTANCE hInstancePrev,
        LPSTR CmdLine,
        int ShowCmd
    )
{
    if(!d3d::InitD3D(
            hInstance,
            width, height,
            true, D3DDEVTYPE_HAL,
            &device
        ))
    {
        d3d::FailMsg(L"InitD3D()");
        return 0;
    }
 
    if(!Setup())
    {
        d3d::FailMsg(L"Setup()");
        return 0;
    }
 
    d3d::EnterMsgLoop(display);
    
    Cleanup();
 
    device->Release();
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 07:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка error MSB4018 (C++):

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'" - C++
#include&lt;iostream&gt; using namespace std; int main(){ int x, a = 0, b = 10; (cin &gt;&gt; x).get(); while (x){ int c = x % 10; ...

Ошибка error C2146: syntax error : missing ';' before identifier 'alph' - C++
Не получается откомпилировать прогу из консоля в MFC, выбивает ошибку error C2146: syntax error : missing ';' before identifier 'alph' ...

Error C2760: синтаксическая ошибка / Fatal error C1004: непредвиденное обнаружение конца файла - C++
Набыдлокодил следующее: Graph.h template&lt;class D&gt; class Graph { private: class Edge { private: int v1, v2;

Ошибка в Dev-C++ : Build Error Error 1 - C++
Ошибка в Dev-C++ : Build Error Error 1 Вод сам код: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; ...

Ошибка: error: 'error' was not declared in this scope - C++
#include &lt;iostream&gt; #include&lt;vector&gt; using namespace std; int area(int a,int b) { if(a&lt;=0 || b&lt;=0) error(&quot;area()...

Ошибка 2 error LNK2019, не пойму в чем ошибка - C++
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;int __cdecl game(void)&quot; (?game@@YAHXZ) в функции....

14
Croessmah
Эксперт CЭксперт С++
13416 / 7570 / 855
Регистрация: 27.09.2012
Сообщений: 18,638
Записей в блоге: 3
Завершенные тесты: 1
15.08.2013, 07:30 #2
Цитата Сообщение от alexey31415 Посмотреть сообщение
выдала мне ошибку, с которой я ранее не встречался.
Вот привожу код
Ну а текст ошибки и место ее обнаружения?
0
icpu
335 / 249 / 47
Регистрация: 10.03.2011
Сообщений: 1,176
Записей в блоге: 2
15.08.2013, 08:11 #3
Цитата Сообщение от [Режим экстросенса]
MSB4018 - не удалось построить решение. Ошибка обычно происходит из-за проблем с памятью. Возможно, не хватает оперативной памяти - проверьте. Возможно, не хватает места на жестком диске или нет прав писать в $(TargetDir). Возможно, это внутренний сбой студии, установите последние обновления и хотфиксы.
[/Режим экстросенса]
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.08.2013, 10:10 #4
alexey31415, в реализациях (D3DUtility.cpp), например:
C++
1
2
3
4
5
6
7
bool d3dInitD3D(
        HINSTANCE hInstance,
        int width, int height,
        bool windowed,
        D3DDEVTYPE deviceType,
        IDirect3DDevice9** device)
{...
d3d - это у вас пространство имён, объявленное в D3DUtility.h, или что другое?
0
icpu
335 / 249 / 47
Регистрация: 10.03.2011
Сообщений: 1,176
Записей в блоге: 2
15.08.2013, 10:25 #5
alsav22, префикс. не придирайтесь к коду, проблема не в нём. до него просто не дошло дело.

alexey31415, создайте новый пустой проект, скомпилирйте. Если всё ок, перенесите в него сначала настройки, а потом и код.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.08.2013, 11:15 #6
Цитата Сообщение от icpu Посмотреть сообщение
alsav22, префикс. не придирайтесь к коду, проблема не в нём. до него просто не дошло дело.
Вопрос не вам был. У него не дошло, у меня дошло.

Добавлено через 41 минуту
alexey31415, вот тут ваш проект (в студии) с исправлениями, который, по крайней мере, компилируется: http://rusfolder.com/37618646
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.08.2013, 12:23 #7
Нашёл причину, почему класс не проходил регистрацию. Вот тут проект, который и запускается:http://rusfolder.com/37619701
0
Миниатюры
Ошибка error MSB4018  
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
16.08.2013, 06:56  [ТС] #8
согласен, ступил, не указав ошибки ,вот они
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: непредвиденная ошибка при выполнении задачи "CL".
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: System.TypeInitializationException: Инициализатор типа "Microsoft.Build.Utilities.FileTracker" выдал исключение. ---> System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.Utilities.FileTracker..cctor()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: --- Конец трассировки внутреннего стека исключений ---
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.Utilities.FileTracker.GetTrackerPath(ExecutableType toolType, String rootPath)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.CPPTasks.TrackedVCToolTask.TrackerExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.CPPTasks.CL.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.Utilities.ToolTask.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.CPPTasks.TrackedVCToolTask.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB4018: в Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult)

Цитата Сообщение от alsav22 Посмотреть сообщение
Нашёл причину, почему класс не проходил регистрацию. Вот тут проект, который и запускается:http://rusfolder.com/37619701
а в чём собственно была причина?

Добавлено через 7 минут
замечу, что в свойствах проекта указывал в разделе каталоги VC++ путь к библиотекам и заголовочным файлам
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.08.2013, 13:46 #9
Цитата Сообщение от alexey31415 Посмотреть сообщение
а в чём собственно была причина?
Причина, не прохождения регистрации класса, была в том, что, в реализации InitD3D(), было написано:
C++
1
WNDCLASSEX wc;
После того, как написал так, программа начала запускаться:
C++
1
WNDCLASSEX wc = {0};
Но там и до этого было много всего, что не давало скомпилировать проект.

Добавлено через 6 часов 30 минут
alexey31415, как дела с решением проблемы?
0
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
16.08.2013, 14:52  [ТС] #10
создал на компе новый проект, те же ошибки, создал на ноуте, правда подключил 2 библиотеки, всё работает, если дело лишь в этих библиотеках – отпишусь о решении проблемы
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.08.2013, 15:18 #11
Цитата Сообщение от alexey31415 Посмотреть сообщение
создал на компе новый проект
Мой не пробовали запускать?
Цитата Сообщение от alexey31415 Посмотреть сообщение
всё работает
Проект какой работает на ноуте?
0
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
18.08.2013, 16:09  [ТС] #12
Цитата Сообщение от alsav22 Посмотреть сообщение
Мой не пробовали запускать?
работает всё

Цитата Сообщение от alsav22 Посмотреть сообщение
Проект какой работает на ноуте?
абсолютно новый создал
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.08.2013, 17:24 #13
Цитата Сообщение от alexey31415 Посмотреть сообщение
правда подключил 2 библиотеки, всё работает, если дело лишь в этих библиотеках – отпишусь о решении проблемы
В этом было дело? И, если не рудно, на вопрос в 4 посте ответьте.
0
alexey31415
59 / 59 / 3
Регистрация: 16.05.2010
Сообщений: 632
19.08.2013, 06:13  [ТС] #14
Цитата Сообщение от alsav22 Посмотреть сообщение
alexey31415, в реализациях (D3DUtility.cpp), например:
C++
1
2
3
4
5
6
7
bool d3dInitD3D(
        HINSTANCE hInstance,
        int width, int height,
        bool windowed,
        D3DDEVTYPE deviceType,
        IDirect3DDevice9** device)
{...
d3d - это у вас пространство имён, объявленное в D3DUtility.h, или что другое?
Да, пространство имён
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.08.2013, 10:45 #15
Цитата Сообщение от alexey31415 Посмотреть сообщение
Да, пространство имён
Т.е. тут всё правильно написано? Функция InitD3D(), объявленная в пространстве имён d3d ?
C++
1
2
3
4
5
6
7
bool d3dInitD3D(
        HINSTANCE hInstance,
        int width, int height,
        bool windowed,
        D3DDEVTYPE deviceType,
        IDirect3DDevice9** device)
{...
У вас так и в новом проекте?

Добавлено через 2 минуты
Цитата Сообщение от alexey31415 Посмотреть сообщение
правда подключил 2 библиотеки, всё работает, если дело лишь в этих библиотеках – отпишусь о решении проблемы
Ошибка темы из-за неподключенных библиотек возникала или так и не выяснили?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2013, 10:45
Привет! Вот еще темы с ответами:

Синтаксическая ошибка: Ошибка 1 error C2059 - C++
#include &lt;iostream&gt; using namespace std; class Cat { public:

Исправить ошибку в WxDev-C++: Error with debugging process: GDB Error: error, No source file named main.cpp - C++
Здравствуйте товарищи! Новенький я в си, установил wxDev-C++, скомпилировал, запускаешь - работает, а чтоб пошагово отладка - не...

Ошибка при компиляции In function"int main()"; expected ';', before "cin", [Build Error] [main.o] Error 1 - C++
Книга &quot;Основы программирования на C++ том 1&quot;(Стэнли Б.Липпман). Приводится пример кода. #include &lt;iostream&gt; #include &lt;string&gt; using...

Вылетает ошибка error C2061: синтаксическая ошибка: идентификатор "_TCHAR" - C++
Программа по обходу в глубину графа. вылетает error C2061: синтаксическая ошибка: идентификатор &quot;_TCHAR&quot;. что с этим делать? //...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
19.08.2013, 10:45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru