Qt application throws “dyld: Symbol not found: __cg_jpeg_resync_to_restart”

不打扰是莪最后的温柔 提交于 2019-12-05 09:39:42

This is only a QtCreator runtime issue. DanyAlejandro's answer (above) is partially correct.

  1. Go to Projects -> Run -> "Run Environment" (show Details)
  2. I would not recommend Unset, rather you should edit Both: DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH
  3. Add /System/Library/Frameworks/ImageIO.framework/Resources: to the beginning for both paths (colon delimited string)
  4. Build project again - this will fix it for good

In my case, this error would only happen in Qt Creator on OSX ElCapitan (Compiling my OpenCV programs with CLion or XCode in OSX would work without doing anything), so I don't think it's correct to say that a change in the system configuration is mandatory (like your link suggests).

What I did, was to link each library file one by one (linking the dylib files one by one, with their full path). This way, I didn't have to mess with my files or do any extra configuration. For example:

LIBS += "/usr/local/lib/libopencv_core.dylib"
LIBS += "/usr/local/lib/libopencv_highgui.dylib"

Provided such files exist.

Edit: Another way to fix this problem (which further proves that this is only Qt Creator related) is to go to Projects -> Run -> "Run Environment" (show Details), select DYLD_LIBRARY_PATH and click Unset. After this, your project should compile as expected.

This question provides a screen shot of finding the setting to change:

I was looking everywhere except the correct spot. I'll walk you through it. You can click the images for bigger versions.

Within Qt Creator, there's a toolbar along the left side of the window. Welcome, Edit, Design, etc. One of the choices is Projects. Select that tab.

From there, there's a new navigation area near the left. Under Build and Run, your Desktop, there's a Run section.

That goes to the run settings, and in almost the exact center of that page are the Run settings in a grey box, and one of the items is the checkbox to turn off.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!