I am trying to install the Google Maps Utils plugin via cocoapods so I can utilize the clustering functionality. I have followed the setup guide provided by google step by step however I am getting a build error during the linking process.
The error I get is:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_POIItem", referenced from:
objc-class-ref in MainViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Does anyone have a solution to this? I have tried just about everything I could find on the web.
Thanks in advance!
EDIT:
I have defined the POIItem as follows:
#import "ViewController.h"
#import <Google-Maps-iOS-Utils/GMUMarkerClustering.h>
#import <GoogleMaps/GoogleMaps.h>
// Point of Interest Item which implements the GMUClusterItem
protocol.
#interface POIItem : NSObject<GMUClusterItem>
#property(nonatomic, readonly) CLLocationCoordinate2D position;
#property(nonatomic, readonly) NSString *name;
- (instancetype)initWithPosition:(CLLocationCoordinate2D)position name:(NSString *)name;
#end
and here is a link to the set up guide I followed: Google Guide
Related
I am currently working on a library that interacts with a REST API. This API responds with a JSON object, which I'm parsing with json-glib-1.0. As some of the members of the object might not exist I wanted to use the get_x_member_with_default function of the Json.Object class.
Even though both the Vala and the C compiler see the functions the linker gives me several errors:
Undefined symbols for architecture x86_64:
"_json_object_get_boolean_member_with_default", referenced from:
_discord_message_construct in message-f5c60f.o
"_json_object_get_int_member_with_default", referenced from:
_discord_message_construct in message-f5c60f.o
"_json_object_get_string_member_with_default", referenced from:
_discord_message_construct in message-f5c60f.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
To reproduce this you can try this code:
void main() {
string json = "{\"one\": 1337}";
Json.Parser parser = new Json.Parser();
parser.load_from_data(json, -1);
int64 val = parser.get_root().get_object().get_int_member_with_default("one", 666);
stdout.printf(#"$val\n");
}
and compile it with this command: valac --pkg json-glib-1.0 file.vala.
This gives me
Undefined symbols for architecture x86_64:
"_json_object_get_int_member_with_default", referenced from:
__vala_main in json2-ec99c2.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
This is obviously not a library; when compiling my library I only generate the C code and compile and link everything with the output of pkg-config --cflags --libs json-glib-1.0. Is there anything I have to link additionally?
You need to install a newer version of json-glib, or more likely, not use that symbol. The Vala documentation for the symbol shows this is since version 1.6 of the library. This information is taken from the C source for the library and the symbol was added with this commit. The problem is the latest stable release appears to be 1.4.4 - see the source repository tags. So it looks like you have to build your own development version with the latest symbols or not use get_int_member_with_default ().
I got this error when installing MoonMail follow the default instructions. It's seem that the installation guide is out of date. Do you have any ideas how to solve this problem?
Serverless: WARNING: This variable is not defined: sendCampaignTopicARN
Serverless: WARNING: This variable is not defined: sendEmailsTopicARN
Serverless: WARNING: This variable is not defined: sentEmailsTopicARN
Serverless: WARNING: This variable is not defined: projectBucket
/Users/michael/.node/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:61
fn = function () { throw arg; };
^
ServerlessError: ServerlessError: An error occurred while provisioning your cloudformation: The following resource(s) failed to create: [AttachSenderTopic, PrecompileCampaignTopic, SentEmailsTable, SendCampaignTopic, PrecompileEmailTopic, AttachRecipientsTopic, ClicksStream, SentEmailsTopic, CampaignsTable, TemplatesTable, FreeUsersSendEmailQueue, UsersTable, IamRoleLambda, AttachListRecipientsTopic, StaticDataBucket, UnsubscribedRecipientTopic, LinksTable, UpdateListImportStatusTopic, EmailAdminsTopic, ListsTable, EmailNotificationsTopic, AttachRecipientsCountTopic, OpensStream, UpdateCampaignTopic, SendEmailsTopic, RecipientsImportS3Bucket, ReportsTable].
In order to deploy the project, you've got to define all those variables in the appropriate s-variables-*.json file. Besides, the issue could be somewhere else. I suggest you to go to the CloudFormation web console and check the events history for the MoonMail stack, it provides more information and better understanding about why it errored than the serverless CLI.
If I try building the newest version of Caffe, it leads to this error:
$ make all
CXX/LD -o .build_release/tools/caffe.bin
clang: warning: argument unused during compilation: '-pthread'
Undefined symbols for architecture x86_64:
"caffe::Net<float>::Forward(float*)", referenced from:
test() in caffe.o
time() in caffe.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [.build_release/tools/caffe.bin] Error 1
I'm building on osx, OpenBLAS, and CPU_ONLY. I found a kind of similar issue on here but it appears to have been a resolved issue, and I'm not getting the exact same error, though perhaps it's related? I can also build and run an older version of Caffe from a month ago, so I think something has changed very recently.
Any ideas on how to overcome this error?
It shows a link problem when compile.On osx this problem will happen usually.I guess the problem happened in Makefile.config.You can change to
# To customize your choice of compiler, uncomment and set the following.
# N.B. the default for Linux is g++ and the default for OSX is clang++
CUSTOM_CXX := g++
and confirm some path is correct.
I had exactly the same problem. Its now resolved.
Do check if you already have a libcaffe.so in your system library paths (maybe /usr/local/lib). If so, delete the existing libcaffe.so and build again.
I'm trying to follow the Clojurescript Quick-Start
I have downloaded the Clojurescript jar as described in the Quick-Start guide. I have verified that it has the appropriate size (about 19M). I have created the files. But when I try to build using the command:
java -cp cljs.jar:src clojure.main build.clj
Java returns the following stacktrace:
Exception in thread "main" java.io.FileNotFoundException: Could not locate cls/build/api__init.class or cls/build/api.clj on classpath., compiling:(/Users/jnedzel/Documents/prj/closurescript/quickstart/hello_world/build.clj:1:1)
at clojure.lang.Compiler.load(Compiler.java:7249)
at clojure.lang.Compiler.loadFile(Compiler.java:7175)
at clojure.main$load_script.invoke(main.clj:275)
at clojure.main$script_opt.invoke(main.clj:337)
at clojure.main$main.doInvoke(main.clj:421)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.lang.Var.invoke(Var.java:379)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate cls/build/api__init.class or cls/build/api.clj on classpath.
Any ideas?
TL;DR: There's a typo in build.clj
Full explanation
As of the Quick-Start, the file build.clj should have the following content:
(require 'cljs.build.api)
(cljs.build.api/build "src" {:output-to "out/main.js"})
The error message says Could not locate cls/build/api__init.class. When the clojure compiler compiles a ns, a loader classfile is generated with the name my/domain/lib__init.class. That's the class that will be loaded given (require 'my.domain.lib).
In the case of cljs.build.api, that would be cljs/build/api__init.class. But it is trying to load cls/build/api__init.class instead, so you have a typo there.
Just now i have created a cocos2d-x project on my mac, Iam using ios version project for development. Iam new to cocos2dx and cpp. When i have first run the project in Xcode its perfectly run's fine. But When i add a touches methods in HelloWorldScene.h file its showing the Error as i run the project. what i have added is after include i have added the namespace cocos2d and after the static method CREATE_FUNC(HelloWorld); i have added touch event method,
virtual void ccTouchesEnded(CCSet* pTouches, CCEvent* event);
When i build and run the project iam getting a error, the error is.
Undefined symbols for architecture i386:
"HelloWorld::ccTouchesEnded(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for HelloWorld in HelloWorldScene.o
"non-virtual thunk to HelloWorld::ccTouchesEnded(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for HelloWorld in HelloWorldScene.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
For virtual function, in .h file, the definition is:
virtual void ccTouchesEnded(CCSet* pTouches, CCEvent* event);
Then in .cpp file, no need 'virtual':
void HelloWorld::ccTouchesEnded(CCSet* pTouches, CCEvent* event){ ... };
I guess the problem is here.