Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17060 Discussions

linker error with task pragma

KevinK13
Beginner
423 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
423 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