Log in or register to post comments

arm64 linker error

March 15, 2015 - 5:22pm #1

Hello!

 

I've been trying to integrate the Vuforia SDK into a preexisting iOS app, but I keep getting errors that seem to be related to the 64-bit architecture. Here is what I'm getting (also attached a screenshot):

Undefined symbols for architecture arm64:
  "_fcvV5w_1", referenced from:
      l6862 in libVuforia.a(libVuforia.a-arm64-master.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

Also, if I remove arm64 from "Valid Architectures" the app seems to compile. However, arm64 is now required so I can't do that.

 

Thanks

arm64 linker error

February 3, 2016 - 11:50pm #25

Ok, for anyone in the future.

 

Here is my solution to my issue:

I added the function defintion:

extern "C" void fcvV5w_1() {}

to a C++ file (though you could add it without the extern "C" directly to a C file) in my project. Now when linking there is a symbol provided for the arm64 libray to look at.

 

This isn't pretty, but it does work.

 

Cheers
Indigo

arm64 linker error

February 3, 2016 - 10:16pm #24

Hi,

 

I've been trying to work this out, but I haven't made any progress.

 

I still can't build frameworks or apps (directly linking libVuforia.a) with arm64. I can't seem use dead code stripping (as mentioned before), can you provide any more pointers that might help resolve this issue?

 

Cheers

Indigo

arm64 linker error

January 28, 2016 - 9:28pm #23
Hi,
I challenged and succeeded before.
It's the past a little, so it isn't remembered so much.
 
I also used objconv together.
so changed _fcvV5w_1 to the unused no-influence name which exists.
 
(lipo may also be used together?)
 
good luck!

arm64 linker error

January 28, 2016 - 3:31pm #22

Hi Eiyo,

 

Thanks for the suggestion. Unfortunately the libVuforia.a file only contains one objfile.

 

Do you know how I could split the symbol out, or perhaps use the strip command on the .a file for only that symbol?

 

Cheers
Indigo

arm64 linker error

January 28, 2016 - 3:25am #21
Hi,
 
Make a module separate.
 
And exclude dead code.(_fcvV5w_1)
 
When carrying out, it may be settled.
 
 
try to find _fcvV5w_1 and try to delete it from libVuforia.

arm64 linker error

January 27, 2016 - 9:25am #20

Hi Alessandro,
 

I believe the problem is with dead code stripping. In the samples that is set to true, in my setup that is false. My question is whether there is a way of linking the vuforia library without requiring dead code stripping? It is odd that the library would require the stripping to work.

 

Any help is appreciated

Thanks

Indigo

arm64 linker error

January 25, 2016 - 8:09am #19

It may be useful to know that I am also getting a similar error:

Undefined symbols for architecture arm64:

  "_OBJC_CLASS_$_FrameMarkersEAGLView", referenced from:
      objc-class-ref in FrameMarkersViewController.o
ld: symbol(s) not found for architecture arm64

 

which seems to be triggered by this line of code in my ViewController:

 


eaglView = [[FrameMarkersEAGLView alloc] initWithFrame:viewFrame appSession:vapp];

arm64 linker error

January 24, 2016 - 1:26am #18

Vuforia 4.x and 5.x do support arm64 on iOS; you can verify that this is the case with a very simple test, i.e. by opening any Vuforia Sample app in Xcode and building and running it on an iOS device (min iOS version is 7.0);

if things stop working when integrating with other libraries or when integrating Vuforia into an existing project, you'll need to investigate if your  project uses different Build Settings (e.g. a different version of the C++ compiler version, just for example) than the ones used in the Vuforia Samples; it is possible that some Xcode settings may be breaking Vuforia compiling / linking.

 

 

arm64 linker error

January 19, 2016 - 4:39pm #17

Hi,

 

I'm getting the same problem, and I also can't seem to use the dead code stripping flag as it breaks other parts of my build.

 

I just downloaded the latest version of the SDK (5.0.10) and it still has this issue. Is there a plan to fix this issue for the Vuforia binaries? Is there some way I can fix this for my local binary?

 

Thanks in advance

Indigo

arm64 linker error

July 28, 2015 - 12:19am #16

Hello,

I probably found the cause...

xcode -> Build Setting -> dead code stripping -> NO to change YES

So, "_fcvV5w_1" is dead part?

But my project doesn't build without "dead code stripping->NO" setting...

(my project consists of CoronaEnterprise)

I want the static library from which a "_fcvV5w_1" was excluded, please.

(or teach me excluded vuforia version number)

thank you.

arm64 linker error

July 26, 2015 - 11:19pm #15

Hello,

I got same error.

So,i can't settle a problem yet, either.

Can someone have an opinion?

thank you.

arm64 linker error

March 20, 2015 - 11:15am #14

The project works perfectly before I add Vuforia, so it can't be any other library

arm64 linker error

March 20, 2015 - 10:57am #13

Does you project use some 3rd party libraries that do not support 64bit ?

If so, you may want to check if by removing / disabling some of those libs, things start to work.

 

arm64 linker error

March 20, 2015 - 10:33am #12

Yes the sample works for me.

 

I am just running out of possible reasons for why it's not working. Is there anything else that could be causing this? It's just a single error, which is weird.

 

 

arm64 linker error

March 19, 2015 - 1:36pm #11

If you have downloaded Vuforia 4.0 (not the Beta), that should be fine;  for example, you should be able to verify that the Vuforia Samples project can be built and run without problems.

 

arm64 linker error

March 19, 2015 - 11:34am #10

Is there any way I can download an older version of Vuforia 4.0? Maybe its just a problem in this build..?

arm64 linker error

March 17, 2015 - 9:51am #9

Everything seems correct there as well.

 

And I only started developing with Vuforia a week ago, so I wouldn't have 2.x or 3.x

 

 

arm64 linker error

March 17, 2015 - 1:42am #8

Have you selected your USB-connected device as the target device  ? (i.e. make sure not to build for the "iOS Simulator")

see screenshot.

Also, make sure your linker Search Path are pointing to the right libVuforia.a of Vuforia 4.0 (and not to an "old" libVuforia from 2.x or 3.x versions)

 

 

AttachmentSize
Image icon TargetDevice.png21.56 KB

arm64 linker error

March 16, 2015 - 9:33am #7

Yep, checked all of these and they seem to match.

AttachmentSize
Image icon LLVM.png301.48 KB
Image icon General.png160 KB
Image icon BuildPhases.png309.09 KB
Image icon Architectures.png76.72 KB

arm64 linker error

March 16, 2015 - 9:09am #6

I was not referring to Unity, just meant "libraries" for "plugins"

 

I'm attaching some screenshots that show the most important settings of a Vuforia Sample;

 

also, make sure libVuforia.a can actually be found by Xcode in your "Search Path" (again in Build Settings).

 

AttachmentSize
Image icon LLVM.png114.98 KB
Image icon General.png36.98 KB
Image icon Architectures.png41.57 KB
Image icon BuildPhases.png56.1 KB

arm64 linker error

March 16, 2015 - 7:54am #5

I've probably went through the build settings 5 times now, but nothing seems to do it :(

also, I'm not using Unity, if that's what you're refering to as plugins.

 

arm64 linker error

March 16, 2015 - 7:16am #4

OK, that seems correct.

Then I'd recommend comparing your custom project settings (in particular, look at the "Build Settings" and "Build Phases" settings) with the ones used in the Vuforia Samples, as the samples link correctly in 64bit mode (with Vuforia 4.0),

so there might be something else you've set in a way that prevents the 64bit linking to work (for example, if you have integrated some 3rd party plugins or if you have manually played with the settings ...)

 

arm64 linker error

March 16, 2015 - 7:06am #3

I tried doing that, but it still does not work. I attached a new screenshot where you can see

export IPHONEOS_DEPLOYMENT_TARGET=7.0

and It still gives an error. Any other ideas?

arm64 linker error

March 16, 2015 - 5:00am #2

Make sure your Deployment Target is set to iOS 7.0 or higher (in Xcode > Build Settings ...)

Log in or register to post comments