CL_BUILD_PROGRAM_FAILURE
Hi,
i have a Problem with OpenCL on Visual Studio 2010.
I saw an example code for Vector Addition and wanted to trie it out.
So I've creatad a DLL to use the Code in an other Programming Language.
But always I'll get this Error-Message:
"CL_BUILD_PROGRAM_FAILURE"
I hope you can help me.
Oh and here are the Sourcecode's:
main.cpp:
[codebox]#include "OpenCL for Blitz Basic-DLL.h"


extern "C" _declspec( dllexport ) int OCL_TEST();


int OCL_TEST(void)
{
// Get OpenCL platform count
cl_uint NumPlatforms;
clGetPlatformIDs(0, NULL, &NumPlatforms);

// Get all OpenCL platform IDs
cl_platform_id* PlatformIDs;
PlatformIDs = new cl_platform_id[NumPlatforms];
clGetPlatformIDs(NumPlatforms, PlatformIDs, NULL);

// Select NVIDIA platform (this example assumes it IS present)
char cBuffer[1024];
cl_uint NvPlatform;
for(cl_uint i = 0; i < NumPlatforms; ++i)
{
clGetPlatformInfo(PlatformIDs[i], CL_PLATFORM_NAME, 1024, cBuffer, NULL);
if(strstr(cBuffer, "NVIDIA") != NULL)
{
NvPlatform = i;
break;
}
}

// Get a GPU device on Platform (this example assumes one IS present)
cl_device_id cdDevice;
clGetDeviceIDs(PlatformIDs[NvPlatform], CL_DEVICE_TYPE_GPU, 1, &cdDevice, NULL);

// Create a context
cl_context hContext;
hContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, NULL);

// Create a command queue for the device in the context
cl_command_queue hCmdQueue;
cl_int a;
hCmdQueue = clCreateCommandQueue(hContext, cdDevice, 0, NULL);

// Create & compile program
cl_program hProgram;
hProgram = clCreateProgramWithSource(hContext, 1, OpenCLSource, 0, 0);
a = clBuildProgram(hProgram, 0, 0, 0, 0, 0);
if(a != CL_SUCCESS)
{
return a;
}

// Create kernel instance
cl_kernel hKernel;
hKernel = clCreateKernel(hProgram, "vectorAdd", 0);

// Allocate host vectors
float * pA = new float[cnDimension];
float * pB = new float[cnDimension];
float * pC = new float[cnDimension];

// Initalize host memory (using helper C function called "randomInit")
//randomInit(pA, cnDimension);
//randomInit(pB, cnDimension);
for(int i = 0; i < cnDimension; i++)
{
pA[i] = float(rand()/1000.0);
pB[i] = float(rand()/1000.0);
}

// Allocate device memory (and init hDeviceMemA and hDeviceMemB)
cl_mem hDeviceMemA, hDeviceMemB, hDeviceMemC;
hDeviceMemA = clCreateBuffer(hContext,
CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,
cnDimension * sizeof(cl_float), pA, 0);
hDeviceMemB = clCreateBuffer(hContext,
CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,
cnDimension * sizeof(cl_float), pB, 0);
hDeviceMemC = clCreateBuffer(hContext,
CL_MEM_WRITE_ONLY,
cnDimension * sizeof(cl_float), 0, 0);

// Setup parameter values
clSetKernelArg(hKernel, 0, sizeof(cl_mem), (void *)&hDeviceMemA);
clSetKernelArg(hKernel, 1, sizeof(cl_mem), (void *)&hDeviceMemB);
clSetKernelArg(hKernel, 2, sizeof(cl_mem), (void *)&hDeviceMemC);

// Launch kernel
clEnqueueNDRangeKernel(hCmdQueue, hKernel, 1, 0, &cnDimension, 0, 0, 0, 0);

// Copy result from device back to host; block until complete
clEnqueueReadBuffer(hCmdQueue, hDeviceMemC, CL_TRUE, 0,
cnDimension * sizeof(cl_float), pC, 0, 0, 0);

std::ofstream file;
file.open("G:\\file.txt");
for(int i = 0; i < cnDimension; i++)
{
file << pA[i] << " + " << pB[i] << " = " << pC[i] << std::endl;
}
file.close();

// Cleanup
delete[] pA;
delete[] pB;
delete[] pC;
delete[] PlatformIDs;
clReleaseKernel(hKernel);
clReleaseProgram(hProgram);
clReleaseMemObject(hDeviceMemA);
clReleaseMemObject(hDeviceMemB);
clReleaseMemObject(hDeviceMemC);
clReleaseCommandQueue(hCmdQueue);
clReleaseContext(hContext);

//return 0;
}[/codebox]
OpenCL for Blitz Basic-DLL.h:
[codebox]#include <Windows.h>
#include <CL\cl.h>
#include <CL\opencl.h>
#include <math.h>
#include <assert.h>
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#pragma comment(lib, "user32.lib")


// CONSTANTS
// Kernel launch configuration
const unsigned int cnBlockSize = 512;
const unsigned int cnBlocks = 3;
const unsigned int cnDimension = cnBlocks * cnBlockSize;

#include "OpenCL-Source.h"[/codebox]
OpenCL-Source.h:
[codebox]// OpenCL source Code
const char* OpenCLSource[] = {
"__kernel void",
"vectorAdd(__global const float * a, ",
" __global const float * b, ",
" __global float * c) ",
"{ ",
" // Vector element index ",
" int nIndex = get_global_id(0); ",
" c[nIndex] = a[nIndex] + b[nIndex];",
"} "
};[/codebox]

Thanks
Hi,

i have a Problem with OpenCL on Visual Studio 2010.

I saw an example code for Vector Addition and wanted to trie it out.

So I've creatad a DLL to use the Code in an other Programming Language.

But always I'll get this Error-Message:

"CL_BUILD_PROGRAM_FAILURE"

I hope you can help me.

Oh and here are the Sourcecode's:

main.cpp:

[codebox]#include "OpenCL for Blitz Basic-DLL.h"





extern "C" _declspec( dllexport ) int OCL_TEST();





int OCL_TEST(void)

{

// Get OpenCL platform count

cl_uint NumPlatforms;

clGetPlatformIDs(0, NULL, &NumPlatforms);



// Get all OpenCL platform IDs

cl_platform_id* PlatformIDs;

PlatformIDs = new cl_platform_id[NumPlatforms];

clGetPlatformIDs(NumPlatforms, PlatformIDs, NULL);



// Select NVIDIA platform (this example assumes it IS present)

char cBuffer[1024];

cl_uint NvPlatform;

for(cl_uint i = 0; i < NumPlatforms; ++i)

{

clGetPlatformInfo(PlatformIDs[i], CL_PLATFORM_NAME, 1024, cBuffer, NULL);

if(strstr(cBuffer, "NVIDIA") != NULL)

{

NvPlatform = i;

break;

}

}



// Get a GPU device on Platform (this example assumes one IS present)

cl_device_id cdDevice;

clGetDeviceIDs(PlatformIDs[NvPlatform], CL_DEVICE_TYPE_GPU, 1, &cdDevice, NULL);



// Create a context

cl_context hContext;

hContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, NULL);



// Create a command queue for the device in the context

cl_command_queue hCmdQueue;

cl_int a;

hCmdQueue = clCreateCommandQueue(hContext, cdDevice, 0, NULL);



// Create & compile program

cl_program hProgram;

hProgram = clCreateProgramWithSource(hContext, 1, OpenCLSource, 0, 0);

a = clBuildProgram(hProgram, 0, 0, 0, 0, 0);

if(a != CL_SUCCESS)

{

return a;

}



// Create kernel instance

cl_kernel hKernel;

hKernel = clCreateKernel(hProgram, "vectorAdd", 0);



// Allocate host vectors

float * pA = new float[cnDimension];

float * pB = new float[cnDimension];

float * pC = new float[cnDimension];



// Initalize host memory (using helper C function called "randomInit")

//randomInit(pA, cnDimension);

//randomInit(pB, cnDimension);

for(int i = 0; i < cnDimension; i++)

{

pA[i] = float(rand()/1000.0);

pB[i] = float(rand()/1000.0);

}



// Allocate device memory (and init hDeviceMemA and hDeviceMemB)

cl_mem hDeviceMemA, hDeviceMemB, hDeviceMemC;

hDeviceMemA = clCreateBuffer(hContext,

CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,

cnDimension * sizeof(cl_float), pA, 0);

hDeviceMemB = clCreateBuffer(hContext,

CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,

cnDimension * sizeof(cl_float), pB, 0);

hDeviceMemC = clCreateBuffer(hContext,

CL_MEM_WRITE_ONLY,

cnDimension * sizeof(cl_float), 0, 0);



// Setup parameter values

clSetKernelArg(hKernel, 0, sizeof(cl_mem), (void *)&hDeviceMemA);

clSetKernelArg(hKernel, 1, sizeof(cl_mem), (void *)&hDeviceMemB);

clSetKernelArg(hKernel, 2, sizeof(cl_mem), (void *)&hDeviceMemC);



// Launch kernel

clEnqueueNDRangeKernel(hCmdQueue, hKernel, 1, 0, &cnDimension, 0, 0, 0, 0);



// Copy result from device back to host; block until complete

clEnqueueReadBuffer(hCmdQueue, hDeviceMemC, CL_TRUE, 0,

cnDimension * sizeof(cl_float), pC, 0, 0, 0);



std::ofstream file;

file.open("G:\\file.txt");

for(int i = 0; i < cnDimension; i++)

{

file << pA[i] << " + " << pB[i] << " = " << pC[i] << std::endl;

}

file.close();



// Cleanup

delete[] pA;

delete[] pB;

delete[] pC;

delete[] PlatformIDs;

clReleaseKernel(hKernel);

clReleaseProgram(hProgram);

clReleaseMemObject(hDeviceMemA);

clReleaseMemObject(hDeviceMemB);

clReleaseMemObject(hDeviceMemC);

clReleaseCommandQueue(hCmdQueue);

clReleaseContext(hContext);



//return 0;

}[/codebox]

OpenCL for Blitz Basic-DLL.h:

[codebox]#include <Windows.h>

#include <CL\cl.h>

#include <CL\opencl.h>

#include <math.h>

#include <assert.h>

#include <vector>

#include <string>

#include <iostream>

#include <fstream>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#pragma comment(lib, "user32.lib")





// CONSTANTS

// Kernel launch configuration

const unsigned int cnBlockSize = 512;

const unsigned int cnBlocks = 3;

const unsigned int cnDimension = cnBlocks * cnBlockSize;



#include "OpenCL-Source.h"[/codebox]

OpenCL-Source.h:

[codebox]// OpenCL source Code

const char* OpenCLSource[] = {

"__kernel void",

"vectorAdd(__global const float * a, ",

" __global const float * b, ",

" __global float * c) ",

"{ ",

" // Vector element index ",

" int nIndex = get_global_id(0); ",

" c[nIndex] = a[nIndex] + b[nIndex];",

"} "

};[/codebox]



Thanks

#1
Posted 10/15/2010 08:17 PM   
Hi,
i have a Problem with OpenCL on Visual Studio 2010.
I saw an example code for Vector Addition and wanted to trie it out.
So I've creatad a DLL to use the Code in an other Programming Language.
But always I'll get this Error-Message:
"CL_BUILD_PROGRAM_FAILURE"
I hope you can help me.
Oh and here are the Sourcecode's:
main.cpp:
[codebox]#include "OpenCL for Blitz Basic-DLL.h"


extern "C" _declspec( dllexport ) int OCL_TEST();


int OCL_TEST(void)
{
// Get OpenCL platform count
cl_uint NumPlatforms;
clGetPlatformIDs(0, NULL, &NumPlatforms);

// Get all OpenCL platform IDs
cl_platform_id* PlatformIDs;
PlatformIDs = new cl_platform_id[NumPlatforms];
clGetPlatformIDs(NumPlatforms, PlatformIDs, NULL);

// Select NVIDIA platform (this example assumes it IS present)
char cBuffer[1024];
cl_uint NvPlatform;
for(cl_uint i = 0; i < NumPlatforms; ++i)
{
clGetPlatformInfo(PlatformIDs[i], CL_PLATFORM_NAME, 1024, cBuffer, NULL);
if(strstr(cBuffer, "NVIDIA") != NULL)
{
NvPlatform = i;
break;
}
}

// Get a GPU device on Platform (this example assumes one IS present)
cl_device_id cdDevice;
clGetDeviceIDs(PlatformIDs[NvPlatform], CL_DEVICE_TYPE_GPU, 1, &cdDevice, NULL);

// Create a context
cl_context hContext;
hContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, NULL);

// Create a command queue for the device in the context
cl_command_queue hCmdQueue;
cl_int a;
hCmdQueue = clCreateCommandQueue(hContext, cdDevice, 0, NULL);

// Create & compile program
cl_program hProgram;
hProgram = clCreateProgramWithSource(hContext, 1, OpenCLSource, 0, 0);
a = clBuildProgram(hProgram, 0, 0, 0, 0, 0);
if(a != CL_SUCCESS)
{
return a;
}

// Create kernel instance
cl_kernel hKernel;
hKernel = clCreateKernel(hProgram, "vectorAdd", 0);

// Allocate host vectors
float * pA = new float[cnDimension];
float * pB = new float[cnDimension];
float * pC = new float[cnDimension];

// Initalize host memory (using helper C function called "randomInit")
//randomInit(pA, cnDimension);
//randomInit(pB, cnDimension);
for(int i = 0; i < cnDimension; i++)
{
pA[i] = float(rand()/1000.0);
pB[i] = float(rand()/1000.0);
}

// Allocate device memory (and init hDeviceMemA and hDeviceMemB)
cl_mem hDeviceMemA, hDeviceMemB, hDeviceMemC;
hDeviceMemA = clCreateBuffer(hContext,
CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,
cnDimension * sizeof(cl_float), pA, 0);
hDeviceMemB = clCreateBuffer(hContext,
CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,
cnDimension * sizeof(cl_float), pB, 0);
hDeviceMemC = clCreateBuffer(hContext,
CL_MEM_WRITE_ONLY,
cnDimension * sizeof(cl_float), 0, 0);

// Setup parameter values
clSetKernelArg(hKernel, 0, sizeof(cl_mem), (void *)&hDeviceMemA);
clSetKernelArg(hKernel, 1, sizeof(cl_mem), (void *)&hDeviceMemB);
clSetKernelArg(hKernel, 2, sizeof(cl_mem), (void *)&hDeviceMemC);

// Launch kernel
clEnqueueNDRangeKernel(hCmdQueue, hKernel, 1, 0, &cnDimension, 0, 0, 0, 0);

// Copy result from device back to host; block until complete
clEnqueueReadBuffer(hCmdQueue, hDeviceMemC, CL_TRUE, 0,
cnDimension * sizeof(cl_float), pC, 0, 0, 0);

std::ofstream file;
file.open("G:\\file.txt");
for(int i = 0; i < cnDimension; i++)
{
file << pA[i] << " + " << pB[i] << " = " << pC[i] << std::endl;
}
file.close();

// Cleanup
delete[] pA;
delete[] pB;
delete[] pC;
delete[] PlatformIDs;
clReleaseKernel(hKernel);
clReleaseProgram(hProgram);
clReleaseMemObject(hDeviceMemA);
clReleaseMemObject(hDeviceMemB);
clReleaseMemObject(hDeviceMemC);
clReleaseCommandQueue(hCmdQueue);
clReleaseContext(hContext);

//return 0;
}[/codebox]
OpenCL for Blitz Basic-DLL.h:
[codebox]#include <Windows.h>
#include <CL\cl.h>
#include <CL\opencl.h>
#include <math.h>
#include <assert.h>
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#pragma comment(lib, "user32.lib")


// CONSTANTS
// Kernel launch configuration
const unsigned int cnBlockSize = 512;
const unsigned int cnBlocks = 3;
const unsigned int cnDimension = cnBlocks * cnBlockSize;

#include "OpenCL-Source.h"[/codebox]
OpenCL-Source.h:
[codebox]// OpenCL source Code
const char* OpenCLSource[] = {
"__kernel void",
"vectorAdd(__global const float * a, ",
" __global const float * b, ",
" __global float * c) ",
"{ ",
" // Vector element index ",
" int nIndex = get_global_id(0); ",
" c[nIndex] = a[nIndex] + b[nIndex];",
"} "
};[/codebox]

Thanks
Hi,

i have a Problem with OpenCL on Visual Studio 2010.

I saw an example code for Vector Addition and wanted to trie it out.

So I've creatad a DLL to use the Code in an other Programming Language.

But always I'll get this Error-Message:

"CL_BUILD_PROGRAM_FAILURE"

I hope you can help me.

Oh and here are the Sourcecode's:

main.cpp:

[codebox]#include "OpenCL for Blitz Basic-DLL.h"





extern "C" _declspec( dllexport ) int OCL_TEST();





int OCL_TEST(void)

{

// Get OpenCL platform count

cl_uint NumPlatforms;

clGetPlatformIDs(0, NULL, &NumPlatforms);



// Get all OpenCL platform IDs

cl_platform_id* PlatformIDs;

PlatformIDs = new cl_platform_id[NumPlatforms];

clGetPlatformIDs(NumPlatforms, PlatformIDs, NULL);



// Select NVIDIA platform (this example assumes it IS present)

char cBuffer[1024];

cl_uint NvPlatform;

for(cl_uint i = 0; i < NumPlatforms; ++i)

{

clGetPlatformInfo(PlatformIDs[i], CL_PLATFORM_NAME, 1024, cBuffer, NULL);

if(strstr(cBuffer, "NVIDIA") != NULL)

{

NvPlatform = i;

break;

}

}



// Get a GPU device on Platform (this example assumes one IS present)

cl_device_id cdDevice;

clGetDeviceIDs(PlatformIDs[NvPlatform], CL_DEVICE_TYPE_GPU, 1, &cdDevice, NULL);



// Create a context

cl_context hContext;

hContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, NULL);



// Create a command queue for the device in the context

cl_command_queue hCmdQueue;

cl_int a;

hCmdQueue = clCreateCommandQueue(hContext, cdDevice, 0, NULL);



// Create & compile program

cl_program hProgram;

hProgram = clCreateProgramWithSource(hContext, 1, OpenCLSource, 0, 0);

a = clBuildProgram(hProgram, 0, 0, 0, 0, 0);

if(a != CL_SUCCESS)

{

return a;

}



// Create kernel instance

cl_kernel hKernel;

hKernel = clCreateKernel(hProgram, "vectorAdd", 0);



// Allocate host vectors

float * pA = new float[cnDimension];

float * pB = new float[cnDimension];

float * pC = new float[cnDimension];



// Initalize host memory (using helper C function called "randomInit")

//randomInit(pA, cnDimension);

//randomInit(pB, cnDimension);

for(int i = 0; i < cnDimension; i++)

{

pA[i] = float(rand()/1000.0);

pB[i] = float(rand()/1000.0);

}



// Allocate device memory (and init hDeviceMemA and hDeviceMemB)

cl_mem hDeviceMemA, hDeviceMemB, hDeviceMemC;

hDeviceMemA = clCreateBuffer(hContext,

CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,

cnDimension * sizeof(cl_float), pA, 0);

hDeviceMemB = clCreateBuffer(hContext,

CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,

cnDimension * sizeof(cl_float), pB, 0);

hDeviceMemC = clCreateBuffer(hContext,

CL_MEM_WRITE_ONLY,

cnDimension * sizeof(cl_float), 0, 0);



// Setup parameter values

clSetKernelArg(hKernel, 0, sizeof(cl_mem), (void *)&hDeviceMemA);

clSetKernelArg(hKernel, 1, sizeof(cl_mem), (void *)&hDeviceMemB);

clSetKernelArg(hKernel, 2, sizeof(cl_mem), (void *)&hDeviceMemC);



// Launch kernel

clEnqueueNDRangeKernel(hCmdQueue, hKernel, 1, 0, &cnDimension, 0, 0, 0, 0);



// Copy result from device back to host; block until complete

clEnqueueReadBuffer(hCmdQueue, hDeviceMemC, CL_TRUE, 0,

cnDimension * sizeof(cl_float), pC, 0, 0, 0);



std::ofstream file;

file.open("G:\\file.txt");

for(int i = 0; i < cnDimension; i++)

{

file << pA[i] << " + " << pB[i] << " = " << pC[i] << std::endl;

}

file.close();



// Cleanup

delete[] pA;

delete[] pB;

delete[] pC;

delete[] PlatformIDs;

clReleaseKernel(hKernel);

clReleaseProgram(hProgram);

clReleaseMemObject(hDeviceMemA);

clReleaseMemObject(hDeviceMemB);

clReleaseMemObject(hDeviceMemC);

clReleaseCommandQueue(hCmdQueue);

clReleaseContext(hContext);



//return 0;

}[/codebox]

OpenCL for Blitz Basic-DLL.h:

[codebox]#include <Windows.h>

#include <CL\cl.h>

#include <CL\opencl.h>

#include <math.h>

#include <assert.h>

#include <vector>

#include <string>

#include <iostream>

#include <fstream>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#pragma comment(lib, "user32.lib")





// CONSTANTS

// Kernel launch configuration

const unsigned int cnBlockSize = 512;

const unsigned int cnBlocks = 3;

const unsigned int cnDimension = cnBlocks * cnBlockSize;



#include "OpenCL-Source.h"[/codebox]

OpenCL-Source.h:

[codebox]// OpenCL source Code

const char* OpenCLSource[] = {

"__kernel void",

"vectorAdd(__global const float * a, ",

" __global const float * b, ",

" __global float * c) ",

"{ ",

" // Vector element index ",

" int nIndex = get_global_id(0); ",

" c[nIndex] = a[nIndex] + b[nIndex];",

"} "

};[/codebox]



Thanks

#2
Posted 10/15/2010 08:17 PM   
I have just few suggestions, try to check the error code of clCreateProgramWithSource function call (and all previous cl calls, do the SDK examples run successfully on your PC?). Register a callback function to clBuildProgram and see what the compiler log looks like, that will hopefully tell you more details about the errors.
I have just few suggestions, try to check the error code of clCreateProgramWithSource function call (and all previous cl calls, do the SDK examples run successfully on your PC?). Register a callback function to clBuildProgram and see what the compiler log looks like, that will hopefully tell you more details about the errors.

#3
Posted 10/21/2010 08:25 PM   
I have just few suggestions, try to check the error code of clCreateProgramWithSource function call (and all previous cl calls, do the SDK examples run successfully on your PC?). Register a callback function to clBuildProgram and see what the compiler log looks like, that will hopefully tell you more details about the errors.
I have just few suggestions, try to check the error code of clCreateProgramWithSource function call (and all previous cl calls, do the SDK examples run successfully on your PC?). Register a callback function to clBuildProgram and see what the compiler log looks like, that will hopefully tell you more details about the errors.

#4
Posted 10/21/2010 08:25 PM   
Did you check the configuration of your target machine type in Visual Studio? If you have a 64-bit system, you should choose 'x64' as configuration. I had a lot of problems with OpenCL when using win32, too.
Did you check the configuration of your target machine type in Visual Studio? If you have a 64-bit system, you should choose 'x64' as configuration. I had a lot of problems with OpenCL when using win32, too.

#5
Posted 10/25/2010 08:13 AM   
Did you check the configuration of your target machine type in Visual Studio? If you have a 64-bit system, you should choose 'x64' as configuration. I had a lot of problems with OpenCL when using win32, too.
Did you check the configuration of your target machine type in Visual Studio? If you have a 64-bit system, you should choose 'x64' as configuration. I had a lot of problems with OpenCL when using win32, too.

#6
Posted 10/25/2010 08:13 AM   
I have same problem too, however, it appears only when I compile Release configuration. Debug is fine. Both are x64
I have same problem too, however, it appears only when I compile Release configuration. Debug is fine. Both are x64

#7
Posted 02/05/2012 11:12 AM   
Scroll To Top