Software Archive
Read-only legacy content
17061 Discussions

linker error with task pragma

KevinK13
Beginner
400 Views
I am currently evaluating Parallel Studio with Visual Studio 2008 Pro.
I have installed the eval version of Parallel Studio and sucessfully built and run through the NQueens sample.
I have added #pragma omp parallel for to one of own dlls and all is ok ( this dll includes a number of CUDA functions ).
The problem when I add a #pragma omp task to the dll build I get the following linker error
1>ipo_45805obj.obj : error LNK2019: unresolved external symbol ___kmpc_omp_task_alloc referenced in function "public: int __thiscall CImageProcessing::ProcessImage(class CwwlImage *)" (?ProcessImage@CImageProcessing@@QAEHPAVCwwlImage@@@Z)
1>ipo_45805obj.obj : error LNK2019: unresolved external symbol ___kmpc_omp_task referenced in function "public: int __thiscall CImageProcessing::ProcessImage(class CwwlImage *)" (?ProcessImage@CImageProcessing@@QAEHPAVCwwlImage@@@Z)

I have added #pragma omp task to the nqueens project and it links ok.
I have compared the linker configuration of the two projects and except for the differences required console to dll build they are the same.
0 Kudos
1 Reply
TimP
Honored Contributor III
400 Views
As there is supposed to be some compatibility between ICL and vcomp at OpenMP 2.0 level, but not for OpenMP 3.0, this raises the suspicion that you linked against vcomp rather than libiomp5.
0 Kudos
Reply