我一直在使用agvtool我的iPhone应用程序的一般原则,并且最近找到了我想能够检查版本变量的原因(以便我可以将帮助内容重新复制到Documents目录中,如果它已经出来日期).MyAppVersionNumber在MyApp_vers.c中定义的变量在构建期间自动生成.它是在.o文件中生成的,并显示在链接应用程序本身的(以前的版本?)中.到目前为止,这似乎很好.
所以现在我已经extern double MyAppVersionNumber在.m文件中声明了我需要使用它(后来尝试使用它,只是在一个NSLog语句中开始),我尝试为iPhone模拟器构建,并得到一个链接错误:
"_MyAppVersionNumber", referenced from:
_MyAppVersionNumber$non_lazy_ptr in HelpViewController.o
(maybe you meant: _MyAppVersionNumber$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
那么,我需要做些什么来让这个链接?
我用google搜索了$ non_lazy_ptr和agvtool,并且什么也没有得到,只有$ non_lazy_ptr,它提供了一些东西,但主要是应用于库,这不是,真的(是吗?).到目前为止,在我的挖掘中,我还没有出现一个关于agvtool的页面,它实际上讨论了使用变量的任何细节 - 我读过的那些只是随便说出来的一个extern变量,我已经完成了.
有人熟悉这个,和/或能否提供任何帮助?
谢谢!
我想在Emacs和SLIME下的Common Lisp中做一些OpenGL编程.我没有参与其中,但我目前正在尝试使用SBCL.如果我从一开始就打开emacs,只用这一行创建一个新文件:
(ql:quickload :cl-opengl)
Run Code Online (Sandbox Code Playgroud)
然后我做M-x slime(并等待加载),然后C-c C-c编译并运行该行,SBCL每次都崩溃,每次都会提示一个对话框说sbcl quit unexpectedly:

我通过点击"报告..."按钮保存了可访问的输出; 如果那是有用的,我可以在这里添加(或将它放在pastebin或其他东西上)......简短的版本是它得到了SIGTRAP.
每次我尝试在SLIME下运行时都会发生这种情况......但是,有趣的是,如果我从命令行运行SBCL,则不会发生这种情况.
所以,问题是:这是SBCL中的错误吗?在cl-opengl?我错误配置的东西?其他?任何见解将不胜感激.
注意:
我做了一些谷歌搜索,我找到了一个页面,提供了将以下内容放入的解决方法~/.swank.lisp:
(setf swank:*communication-style* :fd-handler)
Run Code Online (Sandbox Code Playgroud)
事实上,这让我超越了直接的崩溃,让我能够做一些工作.如果这只是答案,有人请将其作为答案发布,并解释为什么要这样做,以便其他人可以找到它.否则,我想象这是一个错误,但是,这可能是固定的,而不是解决...和/或至少我可以帮助更好地理解的东西; 我仍然没有响应的REPL与我当前的代码(基本上在brian的大脑,作为测试用例)运行(通过run),这可能是也可能不是一个单独的问题?改变swank配置改变了我的情况吗?
平台细节:
操作系统:MacOS 10.6.8
SBCL:来自MacPorts的sbcl@1.1.10_0+fancy ; launch header 这是SBCL 1.1.10,ANSI Common Lisp的一个实现.
Emacs:macports安装的Emacs 版本24.3(9.0)(根据窗口的GUI,或者2013-04-07每个的GNU Emacs 24.3.1(x86_64-apple-darwin10.8.0,NS apple-appkit-1038.36)M-x version,或者emacs-app@24.3_1端口)
史莱姆:来自MacPorts的史莱姆@ 20130630
是否有用于创建Excel电子表格的通用lisp库?我更喜欢它输出一种XML格式.
更新:
要添加更多上下文,从常见的lisp创建一个csv文件非常简单,这就是我现在正在做的事情.
在XML电子表格格式非常简单,并且有可以很容易地输出任意XML的Common Lisp库,所以我自己的滚动是很容易的,但如果事情已经存在缓和的过程中,我宁愿.
我试图加载hunchentoot通过quicklisp在煤泥,并得到以下错误:
READ error during COMPILE-FILE:
:ASCII stream decoding error on
#<SB-SYS:FD-STREAM
for "file [redacted]/dists/quicklisp/software/rfc2388-20120107-http/rfc2388.asd"
{100607B723}>:
the octet sequence #(196) cannot be decoded.
(in form starting at line: 29, column: 29,
file-position: 1615)
[Condition of type ASDF:LOAD-SYSTEM-DEFINITION-ERROR]
Run Code Online (Sandbox Code Playgroud)
我试图运行时得到这个:
(ql:quickload "hunchentoot")
Run Code Online (Sandbox Code Playgroud)
或者干脆:
(ql:quickload "rfc2388")
Run Code Online (Sandbox Code Playgroud)
The system file is encoded as UTF-8.
I'm not sure how to configure things so that SBCL on Windows starts with
UTF-8 as its default encoding …Run Code Online (Sandbox Code Playgroud) 假设我有以下内容:
module A
class B
# ...
end
# ...
end
Run Code Online (Sandbox Code Playgroud)
假设我有几个不同的文件,具有不同的B值,但都在同一个模块中(A).从一个require文件然后require是这些文件中的每个文件,是否有一种内省/反思的方法(这些是不同的东西?我对这种区别是朦胧的,如果是这样的话)来确定(并获取对象)模块中的类?
我试过这个,这让我有点接近:
A.constants # => ["B"]
Run Code Online (Sandbox Code Playgroud)
但我宁愿回来[A::B],而不是一个字符串,这样我就可以调用类似的东西singleton_methods,这对我的程序很有用,它试图将数据映射到各种子类的方法中.
我正在开发一个闪亮的应用程序,但observeEvent()在创建所有从selectInput().
我的问题是observeEvent()函数中的一些表达式在启动时被触发,导致事件过早执行(即我actionButton()在启动时被禁用,应该是,但在理想情况下选择至少一个输入时启用希望它仅在选择所有输入时启用)。如下图所示:
observeEvent({
#input$cohort_file
input$cohort_IDvar
input$cohort_index_date
input$cohort_EOF_date
input$cohort_EOF_type
input$cohort_Y_name
input$cohort_L0
}, {
enable("set_cohort_button")
})
Run Code Online (Sandbox Code Playgroud)
作为参考,我正在使用shinyjs@daattali 在 github 上找到的包来启用/禁用actionButton()。
除了最后一个输入(即input$cohort_L0)似乎在启动时已初始化,因此仅在选择时observeEvent()启用。如果您运行我的应用程序并按从上到下的顺序选择输入,则似乎按预期工作。当我决定随机选择输入并发现选择是我需要选择以启用.actionButtoninput$cohort_L0observeEvent()input$cohort_L0actionButton()
代码的 UI 部分如下所示:
# Variable selection
selectInput('cohort_IDvar', 'ID', choices = ''),
selectInput('cohort_index_date', 'Index date', choices = ''),
selectInput('cohort_EOF_date', 'End of follow-up date', choices = ''),
selectInput('cohort_EOF_type', 'End of follow-up reason', choices = ''),
selectInput('cohort_Y_name', 'Outcome', choices = ''),
selectInput('cohort_L0', 'Baseline …Run Code Online (Sandbox Code Playgroud) 在尝试开发一种使用IMAP访问Gmail的工具时,即使使用以下简单的启动代码,我也遇到了麻烦:
require 'net/imap'
imap = Net::IMAP.new('imap.gmail.com', ssl: true)
Run Code Online (Sandbox Code Playgroud)
运行该命令将失败,如下所示(注意:对其进行了轻松编辑,以便于显示):
Traceback (most recent call last):
5: from test-imap:2:in `<main>'
4: from test-imap:2:in `new'
3: from /.../.rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/net/imap.rb:1092:in `initialize'
2: from /.../.rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/net/imap.rb:1533:in `start_tls_session'
1: from /.../.rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/net/protocol.rb:44:in `ssl_socket_connect'
/.../.rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/net/protocol.rb:44:in
`connect_nonblock': SSL_connect returned=1 errno=0 state=error:
certificate verify failed (self signed certificate) (OpenSSL::SSL::SSLError)
Run Code Online (Sandbox Code Playgroud)
到处搜寻,我发现一些类似的问题,例如imap-backup问题#57,ruby / openssl问题#238(截至本文撰写时仍开放在分享下面的答案后关闭),以及rbenv / ruby-build问题#380 ...但一无所获。
将上述资源中的信息拼接在一起,我想出了以下命令来尝试:
Traceback (most recent call last):
5: from test-imap:2:in `<main>'
4: from test-imap:2:in `new'
3: from /.../.rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/net/imap.rb:1092:in `initialize' …Run Code Online (Sandbox Code Playgroud)