我试图做'font.family'或'anchors.fill'等嵌套属性,但我不能以正常方式初始化它们,因为它打印'无法分配给不存在的属性'.相反,我被迫使用Component.onCompleted方法.怎么了?
MyButtonStyling.qml:
import QtQml 2.1
QtObject
{
property QtObject background: QtObject
{
property color pressed: "#CCCCCC"
property color enabled: "#666666"
property color disabled: "#555555"
}
}
Run Code Online (Sandbox Code Playgroud)
main.qml:
import QtQuick 2.0
Item
{
width: 400
height: 300
MyButton
{
text: "TEST"
styling: MyButtonStyling
{
//background.enabled: "#1B2E0A" //Cannot assign to non-existent property "enabled"
Component.onCompleted:
{
background.enabled = "#1B2E0A" //Works
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
MyButton.qml:
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0
Button
{
property QtObject styling: MyButtonStyling {}
implicitWidth: 80 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建共享库,这些库在汇编中具有调用其他函数的一些函数.当我liba.so
使用代码构建时
void aFunc1()
{
}
asm(
".globl aFunc2\n\t"
".type aFunc2, @function\n\t"
"aFunc2:\n\t"
".cfi_startproc\n\t"
"call aFunc1\n\t" /* note here*/
"ret\n\t"
".cfi_endproc\n\t"
);
Run Code Online (Sandbox Code Playgroud)
和命令
gcc -o liba.so a.c -shared -fPIC
Run Code Online (Sandbox Code Playgroud)
我收到了错误
/usr/bin/ld: /tmp/ccdGBiQv.o: relocation R_X86_64_PC32 against symbol `aFunc1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
它告诉我使用选项,-fPIC
但我已经使用了该选项!但是我发现有了选项-Wl,-Bsymbolic
它编译得很好.
gcc -o liba.so a.c -shared -fPIC -Wl,-Bsymbolic
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试libb.so
使用汇编函数构建第二个库时会出现问题,该函数尝试从第一个库调用函数.编译代码
#include <a.h> …
Run Code Online (Sandbox Code Playgroud)